[Asterisk-Users] capacity testing

Jesse Peterson jesse at strata-com.com
Thu Jan 15 12:39:30 MST 2004


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





More information about the asterisk-users mailing list