ethtool(EL7/EL8)에서 보고한 패킷 삭제 통계를 처리하는 데 도움이 필요합니다.

ethtool(EL7/EL8)에서 보고한 패킷 삭제 통계를 처리하는 데 도움이 필요합니다.

나는 OS의 다양한 도구(및 다양한 수준)에서 보고된 드롭의 세부 사항을 읽으려고 노력해 왔습니다. 지금까지 내가 인터넷 검색을 통해 얻을 수 있었던 대부분의 정보는 나에게는 "손에 잡히지 않는" 것 같습니다.

먼저, 제가 보고 있는 예시 호스트에서는 ZERO가 /proc/net/softnet_stat. 이는 NIC 링 버퍼의 크기가 적절할 것임을 나타냅니다. 이제 ethtool...

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

이제 동일한 인터페이스에 대한 rx 드롭의 모양은 다음과 같습니다.

# 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 링 버퍼 다중 대기열과 관련이 있다는 것입니다. 여기에 있는 모든 0은 내가 보고 있는 내용과 일치하는 것 같습니다 softnet_stat. 또한, 계산된 모든 하락이 발생했다면(현재는 발생하지 않음) 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?

관련 정보