1.
总体排查流程概述
- 收集症状:延迟、丢包、吞吐下降、短时抖动等。
- 确认范围:单台实例/同机架/整个机房/跨骨干链路。
- 初始监控:查看主机CPU/内存、IO、网卡队列与流量曲线。
- 使用工具:ping、mtr/traceroute、iperf3、tcpdump、ethtool、sar。
- 制定优先级:先排网络链路,再排主机配置与应用层。
- 记录变更时间,回滚点与负责人,保持沟通日志。
2.
网络层面详细诊断步骤
- 运行ping与mtr:记录平均延迟、最大延迟、丢包率(示例:ping avg=15ms, max=240ms, loss=7%)。
- traceroute检查路由跳数与异常延时跳点(示例:第6跳延时突增100ms)。
- 使用iperf3测带宽(示例:单向吞吐10Gbps测试或受限为900Mbps)。
- tcpdump抓包分析三次握手/重传/窗口缩小等TCP层问题。
- ethtool查看网卡统计:RX/TX errors、carrier、collisions与offload状态。
3.
主机与虚拟化层排查要点
- 查看CPU与中断:cat /proc/interrupts,观察网卡中断是否均衡。
- 检查网卡Offload:ethtool -k eth0(GRO/GSO/TSO)是否触发问题。
- 检查MTU与分片:ip link show、ping -M do -s 测试。
- 虚拟化影响:KVM/Hypervisor是否开启CPU steal,vhost-net或virtio性能。
- 磁盘与IO等待:iostat/sar查看是否有IO瓶颈影响网络应用。
4.
机房交换与骨干链路要点
- 查看交换机端口错误计数(input error、output error、CRC)。
- 检查链路聚合配置(LACP)与散列策略是否一致。
- 验证BGP/路由策略:是否存在preference变更、AS路径改变导致绕路。
- 观测链路利用率:单端口是否出现100%峰值或队列积压。
- 与上游运营商确认抖动/拥塞窗口与流量清洗策略是否触发。
5.
CDN 与 DDoS 防御相关排查
- 确认是否启用CDN:缓存命中率与回源延迟统计(miss导致回源压力)。
- 检查WAF/ACL:是否误拦正常流量或造成速率限制。
- DDoS指征:超高PPS、短时超出带宽基线、源IP分布异常。
- 缓解方法:流量清洗、黑洞、速率限制或转发至云端清洗。
- 与CDN/清洗厂商确认SLA与策略(例如清洗阈值:300K PPS或5Gbps自动触发)。
6.
具体配置与数据示例(可复制用于诊断)
- 示例服务器配置:Ubuntu 20.04, 8 vCPU, 16GB RAM, SSD RAID10, 网卡 Intel X520 10Gb, MTU 1500。
- 网络接口示例:ethtool -i eth0 驱动 ixgbe, speed 10000Mb/s, duplex full。
- 测试命令示例:iperf3 -c server -P 8 -t 60 测试吞吐, mtr -r -c 100 ip。
- 日志监控样例:nginx access log TPS、syslog 中网卡错误计数。
- 性能阈值参考:平均延迟<25ms为优,丢包<0.5%为可接受,吞吐不低于承诺带宽的90%。
7.
匿名真实案例与解决方案总结
- 案例A(路由拥塞):症状:跨境访问延迟抖动大,mtr显示第7跳丢包高达20%。解决:与上游ISP协商调整BGP路由并切换至备用Transit,延迟从平均120ms降至25ms,丢包从7%降至0.2%。
- 案例B(网卡Offload导致性能异常):症状:大文件上传速率突降且有TCP重传,ethtool显示GRO异常。解决:临时禁用GRO/GSO/TSO后吞吐恢复(900Mbps->5Gbps),最终升级驱动固件并调整虚拟交换。
- 案例C(小流量DDoS):症状:短时高PPS导致CPU中断风暴,ips/pps激增。解决:启用清洗服务并在骨干处做速率限制,PPS从350k降至10k,服务恢复稳定。
- 案例D(CDN回源压力):症状:缓存命中率下降导致源站吞吐高,回源响应慢。解决:优化Cache-Control策略并扩容回源带宽,平均回源延迟由450ms降至70ms。
- 案例E(物理链路损伤):症状:链路间歇性丢包,与机房维护时间吻合。解决:更换SFP模块并重新校验光纤,丢包问题消失。
8.
常用对比数据表(修复前/修复后)
- 下表给出典型测量对比,便于快速判断修复效果。
| 指标 | 修复前 | 修复后 |
| 平均延迟(ms) | 118 | 24 |
| 最大延迟(ms) | 480 | 60 |
| 丢包率(%) | 7.2 | 0.3 |
| 吞吐(Mbps) | 850 | 4800 |
| PPS | 350,000 | 9,800 |
9.
建议与预防措施
- 建议建立基线监控并设置告警阈值(延迟、丢包、带宽利用率)。
- 定期做路由与BGP健检,维护备份Transit与多供商策略。
- 对重要服务使用CDN缓存并配置合理回源策略,降低源站压力。
- 为关键实例记录硬件/驱动/固件清单并按周更新。
- 建立应急流程:快速切换清洗、黑洞、备链路与通知链路。
来源:kt 新加坡机房 速度异常排查流程与常见故障案例总结