небольшой оффтоп: device polling

Alex Vorona voron at amhost.net
Wed Nov 14 21:55:35 MSK 2007


Igor Sysoev пишет:
> On Wed, Nov 14, 2007 at 07:39:07PM +0200, Alex Vorona wrote:
>
>   
>> Anton Yuzhaninov пишет:
>>     
>>> On 14.11.2007 19:47, Pentarh Udi wrote:
>>>       
>>>> Есть ряд вопросов по поллингу, я надеюсь не сочтут оффтопом.
>>>>         
>>> polling имеет большой овехед, и при наличии хорошей сетевой карты (em, 
>>> bge) его лучше не использовать совсем.
>>>
>>>       
>> поподробней плз можно. Поллинг полезен при больших pps и  на  карте с 
>> немаленькими аппаратными буфферами - em и bge. Я правда не знаю, 
>> включает ли FreeBSD отложенные аппаратные прерывания на них, судя по man 
>> bge этого нет, а в man em по hw.em.rx_int_delay вижу The default value 
>> is 0, since adapters may hang with this feature being enabled.
>>     
>
> systat -v:
>
>      6274 bge1 irq18
>
> netstat -I bge1 1
>             input         (bge1)           output
>    packets  errs      bytes    packets  errs      bytes colls
>      54347     0    7293726      48692     0   24562182     0
>      55204     0    7407979      48944     0   24368319     0
>
> На ~100,000 (54347+48692) пакетов всего ~6274 прерывания.
>
> У em то же самое.
>
>
>   
tx-пакеты не в счёт :)
rx ~50k на 6k прерываний. Плоховатый показатель < 10 packets / interrupt 
.   Такой я видел и на linux с NAPI  на e100 :)
При поллинге я вижу по 1к пакетов за 1 полл
sysctl kern.polling
kern.polling.burst: 1000
kern.polling.burst_max: 1000
kern.polling.each_burst: 1000






More information about the nginx-ru mailing list