Назад | Перейти на главную страницу

как узнать, включена ли на сетевой карте множественная очередь?

Может ли кто-нибудь сказать мне, какую команду я запускаю, чтобы определить, работает ли моя сетевая карта 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, они появятся здесь.