[asterisk-dev] rtp scalability improvement...

Roy Sigurd Karlsbakk roy at karlsbakk.net
Mon Mar 20 06:48:26 MST 2006


>>> PS: As of number of packets sent thru computer:
>>>
>>> 50 packets per second * 400 channels * 2 in/out = 40 000 packets  
>>> per second.
>>>
>>> Performance dies not because of system calls, but because 20 000
>>> interruptions/sec happened at that moment.
>>> It's named IRQ poisoning. Because IRQ switching is longer that  
>>> standard
>>> task switching.
>>> <snip/>
>>
>> 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
>>
>
> Yet another reason IAX trunking wins, 50 channels in a trunk means  
> 49 fewer packets,
> hence fewer context switches.
>
> Is there a halfway house here, with a kernel driver that just  
> aggregates a number of rtp
> packets and hands them all back in one delimited buffer?

That doesn't work with the current implementation of the sip  
jitterbuffer :(

roy




More information about the asterisk-dev mailing list