Про увеличение производительности сети в линукс.
Как правило сетевые настройки оптимизированы под работу с обычным типом трафика, который в большинстве случаев представляет собой передачу больших пакетов таким образом загружая канал передачи данных.
Но тот же самый канал можно загрузить маленькими пакетами, но отсылать и принимать их придется существенно чаще. Здесь очень важным параметром для сетевой карты (драйвера) являются NIC Ring Buffers - число буферов для передачи и приёма.
Настройки по умолчанию можно посмотреть с помощью утилиты ethtool:
# ethtool -g eth0 Ring parameters for eth0: Pre-set maximums: RX: 4096 RX Mini: 0 RX Jumbo: 0 TX: 4096 Current hardware settings: RX: 128 RX Mini: 0 RX Jumbo: 0 TX: 256
Здесь мы видим две секции. Верхняя это максимальные значения, которые могут быть назначены соответствующими параметрам. Нижняя секция это текущие настройки.
В ситуации когда трафик создается маленькими пакетами то требуется увеличить размеры буферов rx и tx:
# ethtool -G eth0 rx 4096 # ethtool -G eth0 tx 4096 # ethtool -g eth0 Ring parameters for eth0: Pre-set maximums: RX: 4096 RX Mini: 0 RX Jumbo: 0 TX: 4096 Current hardware settings: RX: 4096 RX Mini: 0 RX Jumbo: 0 TX: 4096