Настройки сетевой карты
Необходимо применить на сервере и добавить в /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.