什么是"Total output drops"
当接口的出方向数据包超过了其输出速率时,接口就会发生拥塞。这些数据包首先会存储在出口的buffer中,当buffer同样无法满足数据包的传输速率时,接口会出现Total output drops。 可通过show interfaces来查看:
Switch# show interfaces tw1/0/1
Input queue: 0/375/0/0 (size/max/drops/flushes); Total output drops: 123456
Switch# show interfaces tw1/0/1
Input queue: 0/375/0/0 (size/max/drops/flushes); Total output drops: 456789
接口协商速率 |
速率阈值 |
10000Mb/s |
10M/ms, 10K/us |
1000Mb/s |
1M/ms, 1K/us |
100Mb/s |
100K/ms |
- 以下常见的两种情况会引起Total output drops:
- 多对一:当多个源端口同时向单个目标发送流量时,目标端口可能会因从多个源接收的流量而变得拥塞。
- 速度不匹配:当速度较高的端口传输到速度较低的端口(例如 10 Gbps 到 1 Gbps)时,数据包必须花费一些时间才能从出站端口排出,这可能会导致延迟和/或数据包丢失。
通过Wireshark来验证接口流量情况:
- 配置SPAN通过wireshark抓取接口出方向流量,当Total output drops增长后关闭SPAN。
Switch(conf)#monitor session 1 source interface G1/0/1 tx
Switch(conf)#monitor session 1 destination interface G1/0/2 <<<<<连接PC,使用wireshark抓包
- 使用Wireshark打开报文并通过以下方式查看I/O图表:
如何解决Total output drops问题:
- 在丢包数量相对少的情况下,可以通过调大buffer来缓解丢包问题。
Switch(config)# qos queue-softmax-multiplier 1200 <<<<< 1200表示12倍,默认为100.
Switch# Show platform hardware fed switch active qos queue config interface G1/0/48
Asic:0 Core:0 DATA Port:47 GPN:48 LinkSpeed:0x1
AFD:Disabled FlatAFD:Disabled QoSMap:0 HW Queues: 376 - 383
DrainFast:Disabled PortSoftStart:3 - 14400
DTS Hardmax Softmax PortSMin GlblSMin PortStEnd
----- -------- -------- -------- -------- ---------
0 1 6 200 9 9600 2 600 0 0 1 15000
1 1 5 0 10 14400 2 900 1 450 1 15000
- 增大接口速率或增加接口数量(如调整1G端口为10G,或将单一端口改为etherchannel)。
- 分析Wireshark报文情况,减除非必要流量或在入方向接口限制流量速率。