Domenico Chierico
2012-11-13 14:14:40 UTC
Hi
We have 1 sipxecs 4.4 with 50 users installed on kvm based virtual machine.
We had the proxy that ran over 290% of cpu with an average cpu load
close to 95%. Applying the review #22, the stuff start goes better and
we are now close to 40% of cpu load.
Some of this load come from the known SUBSCRIBE issue, but some others
come from a strange behaviour of the tcp part of the sip stack that we
found:
- linphone client increases the load on sipXproxy, with his own
strange keepalive method ("Jak" msg to the proxy) and switching the
transport from tcp to udp.
- Some other evidences come from my personal tests as I notify on 3 of
August on dev-ml.
Now I'm testing a solution that seems to work, but I wish to know your
opinion. I've change the order of "if" statements into SipClient::run
and I moved the branch about POLLERR and POLLHUP as first.
On Fri, Aug 3, 2012 at 11:43 AM, Domenico Chierico
We have 1 sipxecs 4.4 with 50 users installed on kvm based virtual machine.
We had the proxy that ran over 290% of cpu with an average cpu load
close to 95%. Applying the review #22, the stuff start goes better and
we are now close to 40% of cpu load.
Some of this load come from the known SUBSCRIBE issue, but some others
come from a strange behaviour of the tcp part of the sip stack that we
found:
- linphone client increases the load on sipXproxy, with his own
strange keepalive method ("Jak" msg to the proxy) and switching the
transport from tcp to udp.
- Some other evidences come from my personal tests as I notify on 3 of
August on dev-ml.
Now I'm testing a solution that seems to work, but I wish to know your
opinion. I've change the order of "if" statements into SipClient::run
and I moved the branch about POLLERR and POLLHUP as first.
On Fri, Aug 3, 2012 at 11:43 AM, Domenico Chierico
I'm just playing around with go(lang), and this days I was starting
with sip stack implementation, just when messages starts float around
I'd realize that I've written a DOS for proxy ..
I just send INVITE to the proxy than reads for 100 and 180 and so I
"2012-08-03T09:31:03.817653Z":43810:SIP:DEBUG:testpbx.labsip2ser.net:SipClientTcp-30:22CEF700:SipXProxy:"SipClient[SipClientTcp-30]::run
resPoll= 1 revents: fd[0]= 0 fd[1]= 1d"
"2012-08-03T09:31:03.817668Z":43811:KERNEL:DEBUG:testpbx.labsip2ser.net:SipClientTcp-30:22CEF700:SipXProxy:"OsSocket::isReadyToWrite
poll returned 1 in socket: 21 0x7f5eec002070"
"2012-08-03T09:31:03.817683Z":43812:SIP:DEBUG:testpbx.labsip2ser.net:SipClientTcp-30:22CEF700:SipXProxy:"SipClient[SipClientTcp-30]::run
resPoll= 1 revents: fd[0]= 0 fd[1]= 1d"
"2012-08-03T09:31:03.817698Z":43813:KERNEL:DEBUG:testpbx.labsip2ser.net:SipClientTcp-30:22CEF700:SipXProxy:"OsSocket::isReadyToWrite
poll returned 1 in socket: 21 0x7f5eec002070"
"2012-08-03T09:31:03.817714Z":43814:SIP:DEBUG:testpbx.labsip2ser.net:SipClientTcp-30:22CEF700:SipXProxy:"SipClient[SipClientTcp-30]::run
resPoll= 1 revents: fd[0]= 0 fd[1]= 1d"
"2012-08-03T09:31:03.817728Z":43815:KERNEL:DEBUG:testpbx.labsip2ser.net:SipClientTcp-30:22CEF700:SipXProxy:"OsSocket::isReadyToWrite
poll returned 1 in socket: 21 0x7f5eec002070"
I hope this helps..
bye
Domenico Chierico
with sip stack implementation, just when messages starts float around
I'd realize that I've written a DOS for proxy ..
I just send INVITE to the proxy than reads for 100 and 180 and so I
"2012-08-03T09:31:03.817653Z":43810:SIP:DEBUG:testpbx.labsip2ser.net:SipClientTcp-30:22CEF700:SipXProxy:"SipClient[SipClientTcp-30]::run
resPoll= 1 revents: fd[0]= 0 fd[1]= 1d"
"2012-08-03T09:31:03.817668Z":43811:KERNEL:DEBUG:testpbx.labsip2ser.net:SipClientTcp-30:22CEF700:SipXProxy:"OsSocket::isReadyToWrite
poll returned 1 in socket: 21 0x7f5eec002070"
"2012-08-03T09:31:03.817683Z":43812:SIP:DEBUG:testpbx.labsip2ser.net:SipClientTcp-30:22CEF700:SipXProxy:"SipClient[SipClientTcp-30]::run
resPoll= 1 revents: fd[0]= 0 fd[1]= 1d"
"2012-08-03T09:31:03.817698Z":43813:KERNEL:DEBUG:testpbx.labsip2ser.net:SipClientTcp-30:22CEF700:SipXProxy:"OsSocket::isReadyToWrite
poll returned 1 in socket: 21 0x7f5eec002070"
"2012-08-03T09:31:03.817714Z":43814:SIP:DEBUG:testpbx.labsip2ser.net:SipClientTcp-30:22CEF700:SipXProxy:"SipClient[SipClientTcp-30]::run
resPoll= 1 revents: fd[0]= 0 fd[1]= 1d"
"2012-08-03T09:31:03.817728Z":43815:KERNEL:DEBUG:testpbx.labsip2ser.net:SipClientTcp-30:22CEF700:SipXProxy:"OsSocket::isReadyToWrite
poll returned 1 in socket: 21 0x7f5eec002070"
I hope this helps..
bye
Domenico Chierico