[Asterisk-Users] capacity testing

Chris Albertson chrisalbertson90278 at yahoo.com
Thu Jan 15 16:29:06 MST 2004


THat's not bad 20 calls through a 800Mhz P3.  I new 3Ghz P4
could likely handle 60 then. Not bad.

But don't beleive "top".  First off if acverages.  Think for
a minute.  We all kow a CPU can never by "20% in use" it is either
in an idle loop (at 0%) or doing real work (100%) it can't be
in an in-between state.  

I think with Asterisk what matteris is the probibility that when
a packet comes in the CPU is idle and available to process it.
When "top" says "20%" that means that is only an 80% chance the
CPU is free.  Looks like 80 or 85 is about the braking point.

Same applies to bandwidth.  If a packets needs to go out, it
needs to go out NOW not some time later if the sound quality
is to be OK.  So you look at the "probibility of collision" not
just the available bandwidth.  If your bandwidth is half used
by, say web surfers, then half of your VOIP packets will be
delayed.  Jitter buffer can help, to a point.

Back to CPU utilization:  30% utiliation means it is not available
to handle a packet 30% of the time and that hansling must be
queued up or delayed.




--- Jesse Peterson <jesse at strata-com.com> wrote:
> Hello all. I'm new to asterisk and have been using and testing it for
> about a week now. My initial hope has been to use it as a sip<->h323
> gateway to tie SIP & H323 based ip phones together with my Cisco
> AS5300 and Lucent MaxTNT/MVAM networks.
> 
> I am currently running Asterisk 0.5.0 under Redhat 9 on a single PIII
> 800 with 256megs RAM. I have tried a couple CVS version from the past
> week (maybe 01/09/04 and 01/14/04) and have not been able to get them
> to work semi-reliably in my simple 1 or 2 call test cases. v.0.5.0
> has supported those ok. Primarily test cases have involved sending ip
> phone calls via SIP to Asterisk and having Asterisk route the calls
> using h323 via a gatekeeper to my TNT network which then sends it out
> the PSTN... and the opposite path, PSTN->TNT->Asterisk->SIP Phone.
> Another test has been sending a call from a AS5300 using SIP to
> Asterisk, out H323 to a TNT. Both of those have worked very well with
> the voice quality being excellent (actually better than a SIP->ISDN
> T1 hardware solution we've been working with - audiocodes mediant 2k
> for those interested). This is the test case I describe below as it
> was the one the allowed me to load Asterisk up with the most calls.
> 
> Anyway, I know that what I'm doing is not exactly the intended
> primary use of Asterisk. That said, here's what I found.
> 
> Voice quality was very good until I had approx. 25 calls up. At that
> point there were intermittent issues with garbled voice, a little
> echo, etc. When it reached a little over 30 calls, Asterisk just died
> (oops).
> During the test, I was trying to keep an eye on proc. & memory util.
> Memory never seemed to be an issue - even right before the crash the
> Asterisk process was not using more than 20 - 25MB. 
> Processor utilization was interesting to watch though. I couldn't
> make any direct/firm correlation, but it seemed like my spikes were
> coming when Asterisk was doing call setup. Even up to about 25 calls,
> utilization didn't spike to more the 25% for long, and with ~25 calls
> seemed to 'idle' around 15%. Above the 25 (when also started noticing
> voice quality issues), the proc. util. seemed to start going wacky -
> spikes up to 40, 50, even 60%. Then it went to 99% for a moment,
> voice quality was horrible if you could hear anything, and Asterisk
> crashed. 
> 
> I did not find anything in the logs to inidicate any problems, though
> I've found that to be the case pretty much everytime Asterisk
> crashes.
> 
> I saw a list thread in which a developer asked for some gdb output...
> in it, he said this:
> > Run asterisk with "-vvvcg".
> > Do your test (core file generated).
> > Run "gdb /usr/sbin/asterisk <core_filename>"
> >  From within gdb run "bt" and send me the output
> > of it.
> 
> if it is of use, here it is (from asterisk v.0.5.0)
> -----------------------------
> (gdb) bt
> #0  ast_smoother_feed (s=0xcbf90080, f=0x5de5c4a8) at frame.c:72
> #1  0x41eb00b1 in oh323_write (c=0x8214488, f=0x5de5c4a8) at
> chan_oh323.c:1504
> #2  0x0805884f in ast_write (chan=0x8214488, fr=0x5de5c4a8) at
> channel.c:1385
> #3  0x0805afa1 in ast_channel_bridge (c0=0x5de5c4a8, c1=0x0, flags=0,
> fo=0x6ef20e50, rc=0x6ef20e54) at channel.c:2262
> #4  0x418bdd7a in ast_bridge_call (chan=0x5de5ed98, peer=0x8214488,
> allowredirect_in=0, allowredirect_out=0, allowdisconnect=0) at
> res_parking.c:224
> #5  0x41d6bfeb in dial_exec (chan=0x5de5ed98, data=0x41d6d19b) at
> app_dial.c:668
> #6  0x08061a5a in pbx_exec (c=0x5de5ed98, app=0x80f0f98,
> data=0x6ef216e8, newstack=1) at pbx.c:396
> #7  0x08068c61 in pbx_extension_helper (c=0x5de5ed98,
> context=0x5de5eeec "longdistance", exten=0x8214488 "H323:8257",
> priority=2,
>     callerid=0x5de10048 "\"Jesse Peterson\" <2474766>",
> action=1104606132) at pbx.c:1150
> #8  0x0806392c in ast_pbx_run (c=0x41d6f3b4) at pbx.c:1634
> #9  0x08069321 in pbx_thread (data=0x84a5038) at pbx.c:1855
> #10 0x40026484 in start_thread () from /lib/tls/libpthread.so.0
> -----------------------------
> 
> If anyone has tried something like this or has any comments, I'd be
> interested in hearing from them.
> 
> 
> 
> jesse
> 
> 
> _______________________________________________
> Asterisk-Users mailing list
> Asterisk-Users at lists.digium.com
> http://lists.digium.com/mailman/listinfo/asterisk-users
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-users


=====
Chris Albertson
  Home:   310-376-1029  chrisalbertson90278 at yahoo.com
  Cell:   310-990-7550
  Office: 310-336-5189  Christopher.J.Albertson at aero.org
  KG6OMK

__________________________________
Do you Yahoo!?
Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes
http://hotjobs.sweepstakes.yahoo.com/signingbonus



More information about the asterisk-users mailing list