[asterisk-dev] rtp scalability improvement...

Sergey Kuznetsov asterisk_biz at deeptown.org
Mon Mar 20 07:30:09 MST 2006


Luigi Rizzo wrote:
> On Mon, Mar 20, 2006 at 04:03:26PM +0600, Paul Cadach wrote:
>   
>> Hello,
>>
>> Roy Sigurd Karlsbakk wrote:
>> [skipped]
>>     
>>> These IRQ storms are only happening on crappy network hardware. My
>>> testing was one with intel gigabit NICs with large buffers,
>>> effectively producing < 100 interrupts per second. kernel profiling
>>> showed time was indeed spent in system calls
>>>       
>> The one solution I see is to move RTP _switching_ into the kernel level (like
>> zaptel conferencing doing), and optimize Asterisk core to do better codec
>> selection logic (i.e. to always minimize/eliminate transcoding when it is
>> possible).
>>     
>
> Transcoding is expensive but has no relation to system calls load.
> I went to look what syscall rates are sustainable by a modern box and
> a random result from google says this:
> http://marc.theaimsgroup.com/?l=linux-kernel&m=103942289025149&w=2
>
> so it's over 200k syscalls per second. I doubt the 40k pps may
> account for more than 10-20% of the total system time spent,
> so the suggested idea of mmapping packets won't help.
>
> There are many other expensive things e.g. i would look into
> lock/unlock calls (depending on which thread package you have,
> those can be very expensive).
> Hard to tell without an indication on how many syscalls per second
> the original poster (Roy ?) was seeing, how many pps, and which
> type of syscalls were involved.
>   

Yes, I just realized that my Dual Opterons is lightning fast with low 
CPU load when I have more than
50-70 calls with echo canceling and G.729 transcoding.



All the Best!
Sergey.



More information about the asterisk-dev mailing list