Привет, сетевой друг!
Сегодня разберём, как быстро проверить производительность маршрутизации на Linux‑роутере без сложных тулов.🟣Пакеты и дропы на интерфейсе: Сразу видно PPS и дропы. Если есть rx_dropped — смотри IRQ affinity и offload (GRO/LRO/TSO).
ethtool -S eth0 | egrep "rx_packets|tx_packets|rx_dropped|tx_dropped"
🟣Conntrack под нагрузкой:
conntrack -C
nft list ruleset | wc -l
Показывает количество активных соединений и объём правил. При 100k+ соединений без оптимизации хэш‑таблиц роутер может начать тормозить.
🟣CPU на сетевой стек: Даёт PPS, обрабатываемый ядром. Можно сразу оценить, хватает ли процессора для текущего потока пакетов.
perf stat -e net:netif_receive_skb,net:net_dev_xmit sleep 10
🟣Проверка балансировки по ядрам:
mpstat -P ALL 1
Если одно ядро загружено на 100%, а остальные почти пустые — включай RPS/RFS (/proc/sys/net/core/rps_sock_flow_entries) или смотри в сторону XDP.
🟣Latency forwarding path: Если есть XDP, сравниваем задержки. Даже базовый XDP drop/forward даёт выигрыш в десятки процентов.
bpftool prog show | grep xdp
Серверная Админа | #network