ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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



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




 




Copyright © Lexa Software, 1996-2009.