Load Testing (was Re: [asterisk-dev] Rate limiting traffic to address potential DoS issues?)

Greg Boehnlein damin at nacs.net
Wed Sep 27 09:05:23 MST 2006


On Wed, 27 Sep 2006, Jeremy McNamara wrote:

> Jared Smith wrote:
> > I know I talked to several people about this at VON -- does anybody have 
> > a lead on some good high-end VoIP call generators we can use to test 
> > Asterisk and make it better?
> 
> At various points this last year, I have had access to a Spirent Abacus, 
> but nobody could tell me how they wanted me to profile Asterisk.   I 
> provided oprofile data to various people, but I never received any 
> feedback other than 'try to use gprof' and see what it says. However, in 
> the limited time I had, I couldn't figure out exactly what gprof was 
> needing to get any sort of data out of it.
> 
> I can request access to another Abacus for Astricon, if a few of us 
> dedicate to make a serious effort to get some good data this time.

That would be great. However, we have been using SIPP for stress testing 
of various SIP platforms and have found it to be very flexible. It 
supports the creation of XML "Scenarios" that can imitate pretty much any 
SIP transaction you would like.

It also supports an RTP reflector, such that it will echo back any RTP 
that it receives to emulate media payload. Took me a while of testing with 
it and it not working before I realized that Asterisk's RTP stack is 
synchronous and requires an inbound RTP packet before it will kick off an 
outbound packet, but once I injected a g729 payload packet, everything 
started working.

It was my suggestion that the developer community collaborate on a 
standardized framework of SIP transaction tests and that Digium require 
all releases of Asterisk to be regression tested through it. This could 
include DTMF testing, various media and codec payloads etc.. This is 
similar to the testing process that SipX goes through, and they catch an 
awful lot of gotchas.

Imagine the benefit of having a standardized, rigorous set of tests to run 
the SIP stack through between releases? If you could collect the data and 
track it in a central repository, you might actually be able to see 
granular performance improvements between releases that way. Just seems 
like good software engineering and QA control to me.

-- 
    Vice President of N2Net, a New Age Consulting Service, Inc. Company
         http://www.n2net.net Where everything clicks into place!
                             KP-216-121-ST



More information about the asterisk-dev mailing list