Может ли кто-нибудь сказать мне, какую команду я запускаю, чтобы определить, работает ли моя сетевая карта 10G в режиме одиночной очереди RX-TX или множественной очереди? Похоже, что у него только 1 очередь RX / TX согласно cat /proc/interrupts
root@hostname:scripts]# cat /proc/interrupts | grep ens1f0
94: 360389979 0 0 0 184 0 330 0 0 0 0 0 0 0 0 0 0 169 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge ens1f0-TxRx-0
95: 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge ens1f0
Если он работает в режиме одной очереди, как мне включить множественную очередь?
ethtool -l <interface>
будет отображать состояние очередей, связанных с интерфейсом, если драйвер этого интерфейса поддерживает такую вещь. В ethtool-land множественная очередь обозначается «каналами».
Если вы видите такие ответы от ethtool:
homeserver-02 ~ # ethtool -l enp4s0
Channel parameters for enp4s0:
Cannot get device channel parameters
: Operation not supported
homeserver-02 ~ #
тогда ваш драйвер сетевой карты не поддерживает множественную очередь. Если ты так думаешь должен, убедитесь, что вы используете наиболее подходящий драйвер для вашей сетевой карты, обновите ядро до последней стабильной версии, чтобы проверить, включена ли эта функция, и проверьте, есть ли особые требования к прошивке для сетевой карты.
Кроме того, дополнительная информация от автора https://blog.cloudflare.com/how-to-achieve-low-latency/ может быть полезно для настройки Ethernet 10 Гбит / с для снижения задержки.
$ man ethtool # for reference on -l and -L
Ура! Надеюсь, это поможет.
Документация на https://www.kernel.org/doc/Documentation/networking/multiqueue.txt имеет ряд полезных концепций и использует tc
команда для управления доступными параметрами множественной очереди. Не зная своих намерений, сложно дать конкретный ответ, но эта информация должна указать вам правильное направление.
Вы можете увидеть, сколько очередей у вас доступно: ethtool -S [interface]
Если у вас включено несколько очередей, они появятся. Кроме того, вы можете отслеживать трафик в очередях rx (tx) с помощью команды watch:
watch -d -n 2 "ethool -S [interface] | grep rx | grep packets | column
Для фильтрации очередей используйте: tc qdisc show dev [interface]
Если у вас есть очереди ADq или DCB, они появятся здесь.