Рубрики
network \ сеть

debian / ethtool / net tweak / производительность сетевой карты

ссылка

https://wiki.mikbill.pro/billing/howto/accel_nic_settings
https://wiki.mikbill.pro/billing/howto/irq_affinity

Настройки сетевой карты /etc/network/interfaces

auto eth0
iface eth0 inet static
	address x.x.x.x
	netmask y.y.y.y
	pre-up /sbin/ifconfig $IFACE txqueuelen 1000 > /dev/null 2>&1;\
	       /sbin/ethtool --offload $IFACE rx off tx off > /dev/null 2>&1;\
	       /sbin/ethtool -K $IFACE rxvlan off txvlan off > /dev/null 2>&1;\
	       /sbin/ethtool -G $IFACE rx 2048 tx 2048 > /dev/null 2>&1;\
	       /sbin/ethtool -A $IFACE autoneg off rx off tx off > /dev/null 2>&1;\
	       /sbin/ethtool -K $IFACE tso off gso off gro off lro off > /dev/null 2>&1

Рассмотрим каждую команду более подробнее:

Длина очереди передачи.
В современных сетях для 1G используется значение 1000, для 10G используется значение 10000.
/sbin/ifconfig eth0 txqueuelen 1000

Отключаем checksum offload для правильной работы шейперов
/sbin/ethtool --offload eth0 rx off tx off

Отключаем аппаратную поддержку 802.1q
/sbin/ethtool -K eth0 rxvlan off txvlan off

Увеличивает размер буфера, чтобы избежать дропов.
Убедитесь, что ваша сетевая поддерживает такой размер буфера выполнив ethtool -g ethX
/sbin/ethtool -G eth0 rx 2048 tx 2048

Отключает авто определение скорости порта
/sbin/ethtool -A eth0 autoneg off rx off tx off

Отключим оффлоады для лучшей производительности TCP
/sbin/ethtool -K eth0 tso off gso off gro off lro off