丢包排查要分段
从本机到目标的路径可能经过多层设备,只测最终目标得到的丢包率无法说明问题出在哪一段。把路径拆成本机到网关、网关到目标两段分别统计,能快速判断是本地链路问题还是上行问题;若只有大流量时才丢包,方向应转向限速、队列与链路协商。
网卡计数是重要旁证
接口统计里的接收丢弃、发送丢弃与各类错误计数,能反映链路层是否存在问题:物理层错误通常与介质、接口或协商模式相关,队列丢弃则多与突发流量和缓冲区设置有关。把这些计数与分段测得的丢包率对应起来,结论更可靠。
基本信息
| 分段测试 | 分别统计到网关与到目标的丢包率 |
|---|---|
| 接口计数 | 接收发送丢弃与各类错误统计 |
| 路径工具 | 逐跳探测工具观察每一跳质量 |
| 方向判断 | 按收发方向区分问题所在 |
典型使用场景
- 业务反馈偶尔卡顿,需要确认是否存在丢包
- 视频或语音质量差,排查链路稳定性
- 虚拟化环境中虚机网络间歇性异常
- 专线或跨网访问不稳定,需要定位到具体区段
- 更换网卡或交换机后复核链路质量
分段统计
分段统计
ping -c 100 -i 0.2 <网关> | tail -3 # 到网关的丢包率
ping -c 100 -i 0.2 <目标> | tail -3 # 到目标的丢包率
ip -s link show eth0 | head -10 # 接口计数与错误统计
ethtool -S eth0 2>/dev/null | grep -iE 'err|drop' | head
ethtool eth0 | grep -iE 'Speed|Duplex' # 协商速率与双工模式持续跟踪
持续跟踪
mtr -rwzbc 30 <目标> 2>/dev/null || echo '未安装 mtr'
ping -D <目标> | tail -20 # 带时间戳,便于与业务时间点对齐
# 结合业务时间点判断是持续丢包还是峰值丢包
# 虚拟化环境同时检查宿主机侧与物理交换机端口统计现象与方向
| 现象 | 可能原因 | 方向 |
|---|---|---|
| 到网关就丢包 | 本机链路或网卡异常 | 查介质、接口与协商模式 |
| 过网关后才丢 | 上行链路或对端问题 | 查上行设备与运营商链路 |
| 仅大流量丢包 | 限速、队列或缓冲不足 | 检查策略与队列配置 |
| 接口错误计数增长 | 物理层问题 | 更换线缆或端口验证 |
| 只有部分业务丢包 | 策略或优先级差异 | 核对策略与限速配置 |
虚拟化环境的丢包要看两层:虚机内的统计可能看不到宿主机的队列丢弃与物理链路问题,服务端与宿主机侧的接口计数都要纳入观察。