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:18:44PM +0300, Михаил Монашёв wrote:
> Здравствуйте, Игорь.
>
> Tuesday, March 10, 2009, 10:46:09 PM, Вы писали:
>
> IS> 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"
> >>
> >> Про первые две читал и видел их в исходниках драйвера. Это число
> >> дескрипторов для приёма и отправки. Но надо ли их увеличивать? Как
> >> узнать, что их не хватает? И что происходит, если их не хватает?
>
> 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 - неограниченное число пакетов.
>
>
> В лог упало следующее:
> Mar 10 23:10:13 softsearch9 kernel: em1: Excessive collisions = 0
> Mar 10 23:10:13 softsearch9 kernel: em1: Sequence errors = 0
> Mar 10 23:10:13 softsearch9 kernel: em1: Defer count = 0
> Mar 10 23:10:13 softsearch9 kernel: em1: Missed Packets = 164058
> Mar 10 23:10:13 softsearch9 kernel: em1: Receive No Buffers = 495526
> Mar 10 23:10:13 softsearch9 kernel: em1: Receive Length Errors = 0
> Mar 10 23:10:13 softsearch9 kernel: em1: Receive errors = 0
> Mar 10 23:10:13 softsearch9 kernel: em1: Crc errors = 0
> Mar 10 23:10:13 softsearch9 kernel: em1: Alignment errors = 0
> Mar 10 23:10:13 softsearch9 kernel: em1: Collision/Carrier extension errors = > 0
> Mar 10 23:10:13 softsearch9 kernel: em1: RX overruns = 1259
> Mar 10 23:10:13 softsearch9 kernel: em1: watchdog timeouts = 0
> Mar 10 23:10:13 softsearch9 kernel: em1: RX MSIX IRQ = 0 TX MSIX IRQ = 0 LINK
> MSIX IRQ = 0
> Mar 10 23:10:13 softsearch9 kernel: em1: XON Rcvd = 0
> Mar 10 23:10:13 softsearch9 kernel: em1: XON Xmtd = 0
> Mar 10 23:10:13 softsearch9 kernel: em1: XOFF Rcvd = 0
> Mar 10 23:10:13 softsearch9 kernel: em1: XOFF Xmtd = 0
> Mar 10 23:10:13 softsearch9 kernel: em1: Good Packets Rcvd = 14906810481
> Mar 10 23:10:13 softsearch9 kernel: em1: Good Packets Xmtd = 23646061689
> Mar 10 23:10:13 softsearch9 kernel: em1: TSO Contexts Xmtd = 6758509968
> Mar 10 23:10:13 softsearch9 kernel: em1: TSO Contexts Failed = 0
>
> Receive No Buffers - это как раз нехватило hw.em.rxd ?
Да, Receive No Buffers + Missed Packets.
RX overruns тоже из этой области, но это не пакеты.
--
Игорь Сысоев
http://sysoev.ru
|