[SPAM]уменьшение трафика в сети

Igor Sysoev is at rambler-co.ru
Wed Mar 11 14:47:59 MSK 2009


On Tue, Mar 10, 2009 at 10:50:54PM +0300, Михаил Монашёв wrote:

> IS> Не нужен polling для em. Не нужен.
> IS> Драйвер em в 7ке сам делает что-то вроде адаптивного поллинга.
> 
> Читал:
> http://groups.google.com/group/fido7.ru.unix.bsd/browse_thread/thread/75877aaebabc4343/0bc35750213fd9b0 ?

Интересно.

Там есть вот какие моменты:

1) там вместе с

dev.em.0.rx_processing_limit: 1000 

были увеличены таймауты:

dev.em.0.rx_int_delay: 200
dev.em.0.tx_int_delay: 200
dev.em.0.rx_abs_int_delay: 200
dev.em.0.tx_abs_int_delay: 200

Их хорошо бы оставить дефолтными или даже уменьшить до нуля, чтобы
прерывания шли по первому же пакету: em потом запрещает прерывания
и начинает обрабатывать пакеты. Возможно, этой задержкой объясняется
некоторое преимущество polling'а (при тестировании с INVARIANTS, без
INVARIANTS, насколько я понял тестировался только polling).

2) Настроойка net.inet.ip.intr_queue_maxlen влияет только на приём пакетов
и только, если обработка входящего TCP/IP делается [swi1: net], то есть,
в случае net.isr.direct=0.


Но я хочу ещё раз подчеркнуть, что в твоём случае 2/3 работы em - это
обработка входящего TCP/IP, а не карты и эзернета. Там же, насколько
я вижу, тестируется передача UDP одним потоком (ng_source).
В твоём же случае передача осуществляется параллельно несколькими nginx'ами.


-- 
Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list