I see, our script is a little more archaic, it runs a perl script and connects each time. Our alternative was to daemonize but as you clearly demonstrated it did no/little good. The purpose for our script is an aliases db, because I could never get usrloc to work correctly mainly.
re: 1) Yes this has been my very problem, since my problem is periodic and not load related (??) leaving full debug on is very painful if not impossible especially when forked..
2) My only alternative is to use ENUM lookups, most everything else would require an external process and/or writing a SER module (gah).. If you're using simple URI replacement then it's recommended of course to rewrite within SER, what kind of functions does your script perform?
3) I used sipp for testing everything, this was with and without the external hog process running.
Matt
-----Original Message----- From: Ricardo Martinez [mailto:rmartinez@redvoiss.net] Sent: Friday, April 15, 2005 12:30 PM To: Matt Schulte; serusers@lists.iptel.org Subject: RE: [Serusers] SER hung - Log Information?
Interesting too. My "translate" script takes an average of 17ms to return the desired value. By HTTP requests it connect to another process in another machine, which have an "always open" connection with my database. So i don't need to open a new connection with my database every time an INVITE reach the server. BUT STILL DESPITE OF THIS, MY SER SEEMS TO FREEZE FOR SOME REASON. I have some questions. 1.-How to check if the bottle neck is in the exec_dset command?? 2.-If we decide to replace this command (exec_dset)for a function in another module, what module would be recommendable?, for example how the ENUM module could do this?. We have the "restriction" that we need to query our databes for the R-URI change, so the module that will acomplish this task needs to have connection with my database, maybe through radius, sql, etc.? 3.-You mention that you made some kind of "stress" test with your platform. You loaded it with 30000 call in one hour. How you did that? Does your exec_dset running at the same time?.
Thanks. Any help will be highly appreciated.
Ricardo.-
-----Mensaje original----- De: Matt Schulte [mailto:mschulte@netlogic.net] Enviado el: Viernes, 15 de Abril de 2005 11:20 Para: Ricardo Martinez; serusers@lists.iptel.org Asunto: RE: [Serusers] SER hung - Log Information?
Interesting, we also use an external process to connect to a DB and retrieve URI replacement. We were thinking that it's running "too slow" and thus hanging SER, even though the logs make it appear as if the process(es) was hanging at random points. We're in the process of eliminating this script and switching over to ENUM or similar. When we
restarted our MySQL server it improved the query time (it was running for 180 days heheh) and seems to have made SER hang less. How long does your external script take to run on average? If it's more than a second then that seems to be unnacceptable for SER..
P.S. The crappy thing is this happens over a period of time, when I load tested the server it ran flawlessly. Pushed 30000 calls through it in less than an hour with no problems. The MySQL server in question is in the same switch segment/subnet as well.
Matt
-----Original Message----- From: Ricardo Martinez [mailto:rmartinez@redvoiss.net] Sent: Thursday, April 14, 2005 4:32 PM To: Matt Schulte; serusers@lists.iptel.org Subject: RE: [Serusers] SER hung - Log Information?
Hello Matt. Thanks for your answer, i checked the post "exec_dset fork
limit?"
(http://lists.iptel.org/pipermail/serusers/2004-December/014150.html) and i think i have the same problem. I'm using the exec_dset command to manipulate the RURI, we need to do this in order to add prefixes according to certain user profiles.
route { if (method=="INVITE" || method=="CANCEL") { exec_dset("/usr/local/etc/ser/translate"); };
As you can see i'm using it for every INVITE and CANCEL, the "translate" file is a C program that connects to a DB and returns the desired RURI. Could this be the cause of SER freeze?. Can we have an opinion from the developers? Is there a way to do the same thing with maybe another module?. For the record i'm using :
OS : Linux Red Hat 9.0 SER : 0.8.14 Mediaproxy : 1.2.1
I would really appreciate any help here. Thanks!!
Best Regards,
Ricardo.-
-----Mensaje original----- De: Matt Schulte [mailto:mschulte@netlogic.net] Enviado el: Jueves, 14 de Abril de 2005 16:11 Para: Ricardo Martinez; serusers@lists.iptel.org Asunto: RE: [Serusers] SER hung - Log Information?
I've been posting about this for some time now,I have never been able to figure out the problem. Do you use external proccesses or anything? That's the only "weird" thing we really do with SER, everything else is pretty straight forward.
Search back from my posts and see what you think.
-----Original Message----- From: Ricardo Martinez [mailto:rmartinez@redvoiss.net] Sent: Thursday, April 14, 2005 11:16 AM To: 'serusers@lists.iptel.org' Subject: [Serusers] SER hung - Log Information?
Hello list. I had been experimenting some weird behavior in my SER program.
A
couple of times my SER seems to be hung. For example the
first time,
all the REGISTER messages reaching the server were not challenged, even worst the server don't respond anything. The second time
it happened
with the INVITE messages. The weird thing is that the SER process were still running. I don't know what could cause this problem, but my question is : Is there a way to log information about the "internal system process" to have a clue about what is happening?. I would really appreciate any help. Thanks
Ricardo Martinez.-
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers