<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">For clarification, is it correct that your getting worse numbers for sustainable cps on SVN then on 1.0.4? &nbsp;I would be interested in the numbers you would get with bypass_media=true instead of proxy_media=true and with neither setting set as well. &nbsp;Also, make sure your logging level is low and try putting the db dir on a ram disk. &nbsp;Thanks for the info. &nbsp;As tony said, there are clearly some bottlenecks in the sofia library, but if you really need to pass media, your test is not very accurate for real life, and the results are likely not very useful to you. &nbsp;You should use a more realistic length of call. &nbsp;In bypass media I would suspect that length of call matters very little. &nbsp;In proxy media or normal mode, the performance of the box is much more of a calculation on number of calls than cps as a result of the context switching from having to move the media and you will see that this plays a much more significant role on realistic call lengths (unless you really have lots of 1/2 second calls). &nbsp;Some other tips. &nbsp;While this extension may be trivial, what else is there in your dialplan context? &nbsp;Anything above that extension could cause a significant impact. &nbsp;Do you have any of the presence features enabled? &nbsp;These do significantly impact call handling performance even if your sipp scenarios do not send any of those packets.<div><br></div><div>Mike<br><div><br></div><div><br><div><div>On Jan 30, 2010, at 11:57 AM, Anthony Minessale wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Also keep in mind that the industry standard is 50 which is the capacity to take over for the real standard of 25 in a fail-over scenario.&nbsp; So you should be happy you even get 300cps for free.<br><br>The sofia stack can be improved but we are not the creators of this sip stack.&nbsp; There is little to no work being done on that project right now and we are happy with what we have until we can get the lead dev to work on improving it with us when he has the time.<br>
<br><br><br><div class="gmail_quote">On Sat, Jan 30, 2010 at 5:33 AM, Puskás Zsolt <span dir="ltr">&lt;<a href="mailto:errotan@gmail.com">errotan@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); margin-top: 0pt; margin-right: 0pt; margin-bottom: 0pt; margin-left: 0.8ex; padding-left: 1ex; position: static; z-index: auto; ">
2010. január 29. 16.31.29 Robin Vleij dátummal ezt írta:<br>
<div><div></div><div class="h5">&gt; Hi guys,<br>
&gt;<br>
&gt; Doing a bit of testing / benchmarking with FS 1.04 (and 1.05 SVN). Found<br>
&gt; out some interesting things, I think.<br>
&gt;<br>
&gt; The setup is like this:<br>
&gt;<br>
&gt; SIPP Client -&gt; FS -&gt; SIPP Server<br>
&gt;<br>
&gt; The dialplan is as simple as it gets:<br>
&gt;<br>
&gt; &lt;extension name="test-out"&gt;<br>
&gt; &nbsp; &lt;condition field="network_addr" expression="^130\.244\.190\.150$"/&gt;<br>
&gt; &nbsp; &lt;condition field="destination_number" expression="^(\d+)$"&gt;<br>
&gt; &nbsp; &nbsp; &lt;action application="set" data="proxy_media=true"/&gt;<br>
&gt; &nbsp; &nbsp; &lt;action application="set" data="hangup_after_bridge=true"/&gt;<br>
&gt; &nbsp; &nbsp; &lt;action application="bridge"<br>
&gt; data="{sip_contact_user=transit}sofia/gateway/${distributor(gwg1)}/$1|sofia<br>
&gt; /gateway/${distributor(gwg2)}/$1"/&gt; &lt;/condition&gt;<br>
&gt; &lt;/extension&gt;<br>
&gt;<br>
&gt; For the rest it's running CSV cdr's, commented out all modules I'm not<br>
&gt; using, etc etc all that I could find on the wiki and the Interwebs.<br>
&gt; Hardware / OS: from the shelve quadcore Xeon, debian 64-bit, 12GB<br>
&gt; memory. SIPP is running a 500ms RTP pcap and the other side echos back.<br>
&gt;<br>
&gt; I had a few test setups then:<br>
&gt;<br>
&gt; 1: FS SVN, 1 sofia profile where the gateways were configured and the<br>
&gt; server_IP:5060 was used.<br>
&gt;<br>
&gt; 2. FS SVN, 2 sofia profiles where the gateways where in an seperate<br>
&gt; profile (server_IP:5070) and the "customer facing" side was the original<br>
&gt; profile.<br>
&gt;<br>
&gt; 3. FS 1.04, same as above<br>
&gt;<br>
&gt; 4. FS 1.04, 4 sofia profiles, distributor to spread load over 2 incoming<br>
&gt; and 2 outgoing profiles.<br>
&gt;<br>
&gt; Now the interesting thing was that under 1 I could go up, almost without<br>
&gt; any CPU load, to 50cps. As soon as I went over this, calls where handled<br>
&gt; &nbsp;slower and "ongoing" calls would pile up untill it became really slow.<br>
&gt; CPU load went to 100% on the FS process (both user and system time).<br>
&gt; Lots of interupts and context switches. No throughput anymore untill I<br>
&gt; lower and wait till the "buffer" is empty and FS is keeping up again.<br>
&gt;<br>
&gt; Under 2, I was able to increase the CPS to about 100 with the same effect.<br>
&gt;<br>
&gt; 3 then went much better, I was able to increase CPS to about 200 cps and<br>
&gt; response times in SIPP went up slighty untill it just hits some kind of<br>
&gt; limit and calls are handled slower.<br>
&gt;<br>
&gt; 4 is pretty cool. Here I can run 2 sipp clients both doing 150cps to the<br>
&gt; gateways that are spread on the distribution module, so I spread traffic<br>
&gt; over 2 profiles. With 300 cps in total, FS is keeping up and I have 30%<br>
&gt; idle CPU. However, increasing to over 300cps gives problems again, even<br>
&gt; though I have idle CPU left!<br>
&gt;<br>
&gt; All in all, I have a feeling that a single sip profile can't run more<br>
&gt; than a certain limit untill it gets into some problem. Depending on if<br>
&gt; I'm running SVN or 1.04 that limit seems to be 50cps or a bit higher.<br>
&gt; After that limit it starts piling up "ongoing" calls, by taking time to<br>
&gt; handle them and when that limit gets too high it's too late. All in all<br>
&gt; really fine, I just set the system wide limit to a little under that<br>
&gt; "threshold". But when I'm running just UNDER the threshold it's not CPU<br>
&gt; that's a problem. Theoretically I should be able to run (based on the<br>
&gt; CPU usage at 300cps) about 400cps.<br>
&gt;<br>
&gt; When running at 300 I get SOME failed calls and I see<br>
&gt;<br>
&gt; "switch_core_state_machine.c:525 a9a60636-0cea-11df-85a1-09c991f2afc5<br>
&gt; Timeout waiting for next instruction in CS_NEW!"<br>
&gt;<br>
&gt; in the console.<br>
&gt;<br>
&gt; I didn't find much on how people do high cps setups and it feels a bit<br>
&gt; like a "friday afternoon solution" to run multiple sofia profiles on the<br>
&gt; same machine in order to max out the system.<br>
&gt;<br>
&gt; Maybe I'm missing something and I know it's not an exact science this,<br>
&gt; but I'm not sure "all is OK" because I'm not slowly getting to a 100%<br>
&gt; cpu (or disk / network) usage, I hit some kind of limit after which<br>
&gt; stuff goes wrong.<br>
&gt;<br>
&gt; Anyone any input!<br>
&gt;<br>
&gt; /Robin<br>
&gt;</div></div></blockquote></div></blockquote></div></div></div></body></html>