Про увеличение производительности сети в линукс.
Как правило, сетевые настройки оптимизированы под работу с обычным типом трафика, который в большинстве случаев представляет собой передачу больших пакетов, таким образом загружая канал передачи данных.
Но тот же самый канал можно загрузить маленькими пакетами, но отсылать и принимать их придется существенно чаще. Здесь очень важным параметром для сетевой карты (драйвера) являются 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