Нужна помощь в сборе статистики потери пакетов, сообщенной ethtool (EL7/EL8).
Я пытался узнать подробности дропов, о которых сообщают различные инструменты (и на разных уровнях) ОС. До сих пор большая часть информации, которую мне удалось найти с помощью Google, кажется мне довольно «небрежной».
Во-первых, позвольте мне заявить, что пример хоста, на который я смотрю, показывает НОЛЬ/proc/net/softnet_stat
. Это указывает на то, что кольцевые буферы NIC, вероятно, имеют правильный размер. Теперь на...
Вот как выглядит многоочередь NIC:
# ethtool -l em1
Channel parameters for em1:
Pre-set maximums:
RX: 16
TX: 16
Other: n/a
Combined: n/a
Current hardware settings:
RX: 16
TX: 16
Other: n/a
Combined: n/a
Теперь вот как выглядят приемные устройства для того же интерфейса:
# ethtool -S em1 | grep rx.*dropped:
rx_dropped: 1742
rx0_dropped: 0
rx1_dropped: 0
rx2_dropped: 0
rx3_dropped: 0
rx4_dropped: 0
rx5_dropped: 0
rx6_dropped: 0
rx7_dropped: 0
rx8_dropped: 0
rx9_dropped: 0
rx10_dropped: 0
rx11_dropped: 0
rx12_dropped: 0
rx13_dropped: 0
rx14_dropped: 0
rx15_dropped: 0
Я предполагаю , что 16 отдельных очередей относятся к множественной очереди кольцевого буфера NIC. Кажется, все нули здесь согласуются с тем, что я вижу в . Кроме того, я предполагаю, что любые падения учитываются.softnet_stat
будет отражено в этомethtool
вывод, если бы они происходили (чего в настоящее время нет).
Это оставляет какую-то неясную'rx_dropped'
поле, которое фактически увеличивается. Итак, я предполагаю, что это НЕ связано с кольцевым буфером NIC, а является счетчиком отбрасываний более высокого протокола. Этот подсчет фактически отражен вip -s
статистика по интерфейсу:
# ip -s link show dev em1
2: em1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 9000 qdisc mq master bond0 state UP mode DEFAULT group default qlen 1000
link/ether 94:18:82:70:2e:42 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped missed mcast
219512805660516 147616023841 0 1742 0 5624266
TX: bytes packets errors dropped carrier collsns
649765242476657 450168813646 0 0 0 0
Я считаю, что эти падения могут быть результатом любого количества проблем, связанных с протоколом, таких как неверные пакеты, плохие порты, перегруженные буферы приложений и т. д. и т. п.
Кажется ли это разумным анализом, объясняющим «разную» статистику выпадения, о которой сообщаетethtool -S
?