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

Может ли Linux дисциплинировать очереди только для уменьшения задержки? Можно ли отключить?

Я изучаю дисциплину организации очередей как часть настройки сетевого стека в нашем кластере Carbon-C-Relay. Насколько я понимаю, уровень дисциплины очередей существует исключительно для уменьшения задержки и обеспечения справедливости для различных типов сетевых пакетов. Без этого уровня очередь драйверов могла бы использоваться как простой FIFO, который был бы хорош для высоких сетевых нагрузок, когда задержка не является приоритетом.

Я использую кластер Carbon-c-relay, а это значит, что меня не волнует задержка - я забочусь о том, чтобы все пакеты, содержащие данные метрик, обрабатывались и ни один из них не отбрасывался. Поэтому я должен иметь возможность отключить уровень дисциплины очередей и вместо этого настроить очередь драйверов (увеличить как очередь драйверов, так и буферы сокетов, чтобы приспособиться к сетевой нагрузке).

Это правильно? Есть ли способ отключить уровень дисциплины очередей?

Вы можете установить qdisc по умолчанию с помощью net.core.default_qdisc sysctl вариант. В вашем случае вы можете выбрать pfifo или noqueue.

Затем вы можете установить длину очереди с помощью ip link set txqueuelen ${len} dev ${dev}.

Вы можете найти еще несколько объяснений, примеров и ссылок Вот.