Настройки сетевой карты

Необходимо применить на сервере и добавить в /etc/network/interfaces строку pre-up:

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





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

/sbin/ifconfig eth0 txqueuelen 1000

Отвечает за "длину очереди передачи". В современных сетях для 1G используется значение 1000, для 10G используется значение 10000.

/sbin/ethtool --offload eth0 rx off tx off

Отключаем checksum offload для правильной работы шейперов

/sbin/ethtool -K eth0 rxvlan off txvlan off

Отключаем аппаратную поддержку 802.1q

/sbin/ethtool -G eth0 rx 2048 tx 2048

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

/sbin/ethtool -A eth0 autoneg off rx off tx off

Отключает автоопределение скорости порта.

/sbin/ethtool -K eth0 tso off gso off gro off lro off

Отключим оффлоады для лучшей производительности TCP.

  • billing/howto/accel_nic_settings.txt
  • Последние изменения: 3 лет назад
  • — Александр Дудяк