[OpenSIPS-Users] number of opensips children
opensipslist at encambio.com
opensipslist at encambio.com
Tue Feb 2 20:11:58 CET 2010
Hello,
An mar., févr 02, 2010, opensipslist at encambio.com schrieb:
>An mer., déc 23, 2009, Bogdan-Andrei Iancu schrieb:
>>opensips at encambio.com wrote:
>>> An ven., déc 18, 2009, Bogdan-Andrei Iancu schrieb:
>>> My gut feeling is that having four UDP listening processes and four
>>> TCP listening processes is about right for us, because we only have
>>> a handful of UACs participating infrequently (5 calls per day.)
>>>
>>Actually that is more than needed - during some performance tests (only
>>simply call relaying) we managed to put 6K cps in a single process.
>>
>I have eight TCP listeners configured and about sixteen UACs are
>connected. I get a ton of these warnings whenever REGISTER or INVITE
>messages come in:
>
> Feb 02 18:17:22 name.host.tld <warning> opensips[02126]: WARNING:core:send2child: no free tcp receiver, connection passed to the leastbusy one (1)
> Feb 02 18:17:25 name.host.tld <warning> opensips[02126]: WARNING:core:send2child: no free tcp receiver, connection passed to the leastbusy one (1)
>
>Because you mentioned that you benchmarked 6K CPS with a single
>process (was it TCP?), I'd like to know if you got as many warnings
>as well. One question is:
>
> What does 'free tcp receiver' mean? I assumed that listening
> TCP ports were free to accept as many connections as needed.
>
> [...]
>
>Is OpenSIPS expecting there to be at least one TCP listener process
>which is not encumbered by the tcp_persistent_flag?
>
At risk of answering my own question and questioning my own answer,
I'd like to suggest the following change:
--- tcp_main.c.orig 2010-01-18 12:33:49.151095000 +0100
+++ tcp_main.c 2010-02-02 20:07:15.263065567 +0100
@@ -911,7 +911,7 @@
tcp_children[idx].busy++;
tcp_children[idx].n_reqs++;
if (min_busy){
- LM_WARN("no free tcp receiver, connection passed to the least"
+ LM_INFO("no free tcp receiver, connection passed to the least "
"busy one (%d)\n", min_busy);
}
LM_DBG("to tcp child %d %d(%d), %p\n", idx, tcp_children[idx].proc_no,
That would correct the defective english spelling 'leastbusy' as
well as ridding the log of a properly running OpenSIPS server of
false warnings. I'm assuming of course, that it's perfectly okay
for TCP listener processes to keep a TCP connection open by using
the tcp_persistent_flag and accept new SIP requests at the same
time.
Regards,
Brian
More information about the Users
mailing list