Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: уменьшение трафика в сети
On Tue, Mar 10, 2009 at 11:22:48PM +0300, Михаил Монашёв wrote:
> Здравствуйте, Игорь.
>
> >> ??>> >> em1 taskq отдал две трети процессора на swi1: net
> >> ??>> >>
> >> ??>> >> Какой из этого можно сделать вывод?
> >> ??>>
> >> ??>> > Вывод из этого неутешительный - во FreeBSD в общем случае не
> >> параллелится
> >> ??>> > входщий TCP/IP. Судя по em1, там ещё есть em0. Их можно подключить
> >> к двум
> >> ??>> > сетям - внешней и внутренней (бэкендной) ?
> >> ??>>
> >> ??>> А там можно какие-нить sysctl-ки покрутить?
> >>
> >> DM> /boot/loader.conf:
> >>
> >> DM> hw.em.rxd="4096"
> >> DM> hw.em.txd="4096"
> >> DM> hw.em.rx_process_limit="-1"
> >>
> >> Про первые две читал и видел их в исходниках драйвера. Это число
> >> дескрипторов для приёма и отправки. Но надо ли их увеличивать? Как
> >> узнать, что их не хватает? И что происходит, если их не хватает?
>
> IS> Если не хватает rxd, то пакеты дропаются.
> IS> Если не хватает txd, то медленее отдаётся.
> IS> По умолчанию оба параметра - 256.
> IS> Как узнать, что не хватает:
> IS> sysctl dev.em.1.stats=1
> IS> Потом смотрим в /var/log/messages или dmesg.
>
> >> А что делает третья sysctl-ка из сорцов я не силён понять. Можешь
> >> подсказать, актуальна ли она в 7.1?
>
> IS> Это максимальное число RX пакетов, которые em taskq обрабтывает за один
> IS> вызов, по умолчанию:
>
> IS> sysctl dev.em...rx_processing_limit
> IS> dev.em.0.rx_processing_limit: 100
>
> IS> -1 - неограниченное число пакетов.
>
> Вдогонку...
> Я где-то вчера читал, что если ядро собрано с поллингом, то всё это не
> работает. Это правда? Сейчас у меня так:
>
> options HZ=2000
> options DEVICE_POLLING
Не работает только hw.em.rx_process_limit. rxd и txd ещё как работают.
--
Игорь Сысоев
http://sysoev.ru
|