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 10:26:36PM +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"
>
> Про первые две читал и видел их в исходниках драйвера. Это число
> дескрипторов для приёма и отправки. Но надо ли их увеличивать? Как
> узнать, что их не хватает? И что происходит, если их не хватает?
Если не хватает rxd, то пакеты дропаются.
Если не хватает txd, то медленее отдаётся.
По умолчанию оба параметра - 256.
Как узнать, что не хватает:
sysctl dev.em.1.stats=1
Потом смотрим в /var/log/messages или dmesg.
> А что делает третья sysctl-ка из сорцов я не силён понять. Можешь
> подсказать, актуальна ли она в 7.1?
Это максимальное число RX пакетов, которые em taskq обрабтывает за один
вызов, по умолчанию:
sysctl dev.em...rx_processing_limit
dev.em.0.rx_processing_limit: 100
-1 - неограниченное число пакетов.
--
Игорь Сысоев
http://sysoev.ru
|