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

Igor Sysoev is at rambler-co.ru
Tue Mar 10 22:46:09 MSK 2009


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





More information about the nginx-ru mailing list