我最近在河南一家知名IDC公司郑州易方科贸(861.cn)托管的一台服务器发现线上业务最头疼的问题里,网络延迟忽高忽低、ping 抖动大、间歇性超时、游戏/接口/直播卡顿绝对排前三。
很多人排查网络只会单纯 ping 一下、重启服务器,完全找不到根因:有时候本地 ping 正常、用户访问却巨卡;有时候内网流畅、公网延迟疯狂跳变;有时候延迟高但没有丢包,怎么查都查不出问题。
本文给大家一套从内网到公网、从浅层到深层、可落地的分层排查方案,覆盖 99% 的网络延迟、抖动、ping 不稳定问题,新手也能直接照着操作。
一、先分清:三种网络异常现象(别再搞混)
排查前先区分故障类型,避免盲目排查,三者成因完全不同:
-
延迟高(延迟稳定偏大):ping 值固定几百ms,无明显跳动、无丢包,多是链路长、路由绕、带宽拥堵导致
-
ping 抖动/不稳定:延迟忽高忽低,10ms→200ms→50ms 反复横跳,核心是网络队列拥堵、设备性能瓶颈、链路干扰
-
间歇性丢包:偶尔超时、请求失败、连接断开,多是防火墙拦截、端口故障、运营商波动、流量攻击导致
绝大多数业务卡顿,都是抖动+轻微丢包共同造成的,比单纯延迟高危害更大。
二、第一步:快速定位故障区间(核心关键)
网络问题分为三段:本地网络 → 服务器内网 → 公网链路,先锁定问题出在哪一段,排查效率翻倍。
1. 本地测试:排除自身网络问题
本地电脑持续 ping 服务器公网 IP,观察 3-5 分钟:
# Windows 持续ping ping 服务器IP -t # Linux 持续ping ping 服务器IP -c 1000
判断标准:
-
本地 ping 抖动大、丢包 → 优先查本地宽带、路由器、WIFI、局域网拥堵
-
本地 ping 稳定,用户反馈卡顿 → 问题在服务器端、运营商链路
2. 服务器内网自测:排除服务器本身网卡故障
登录服务器,ping 内网网关、本机网卡,测试内网稳定性:
# ping 本机网卡 ping 127.0.0.1 # ping 内网网关 ping 网关IP
判断标准:
-
内网 ping 延迟高、抖动、丢包 → 服务器网卡、交换机、内网环境故障
-
内网完全稳定,公网 ping 异常 → 问题出在公网运营商链路
3. 终极定位工具:mtr(比traceroute精准10倍)
普通 ping 只能看终点状态,mtr 可以排查整条路由链路,精准定位哪一跳卡顿丢包,是运维排查网络的核心工具。
# 安装 yum install mtr -y # 持续检测公网链路(推荐) mtr -c 1000 目标IP
结果解读:
-
前几跳(内网段)丢包 → 机房内网/交换机/网卡问题
-
中间骨干网跳点丢包、延迟飙升 → 运营商线路波动
-
最后一跳丢包 → 目标服务器端口/服务/安全组问题
三、内网层排查:解决服务器本地延迟、抖动问题
很多公网卡顿,根源其实是服务器内网、网卡本身异常,这一步必须优先排查。
1. 网卡状态检测(最容易被忽略)
查看网卡是否存在错包、丢包、溢出,只要有数值就说明硬件链路异常:
ifconfig # 或 ip -s link
重点查看:errors、dropped、overruns、frame
只要这几个字段持续增长,必然导致延迟抖动、间歇性丢包,常见原因:
-
网线老化、松动、光模块故障
-
网卡协商异常(千兆网卡跑百兆、半双工模式)
-
机房交换机端口故障、端口拥塞
查看网卡协商模式:
ethtool eth0
确保为:1000Base-T 全双工,非自动协商、非半双工。
2. 服务器资源过载导致的网络卡顿
服务器 CPU、内存、IO 打满后,系统无力处理网络报文,会出现ping 抖动、延迟飙升,属于假性网络故障。
快速核查:
-
top查看 CPU 负载是否过高 -
iostat -x 1查看磁盘IO是否100%占用 -
free -h查看内存是否耗尽、Swap占用过高
系统资源拥堵,会直接导致网络报文处理延迟,表现为 ping 不稳定、业务超时。
3. 内网ARP冲突、广播风暴
局域网内IP冲突、ARP异常,会导致内网转发混乱,延迟忽高忽低,整机网络极不稳定。
排查命令:
查看是否存在同一个IP对应多个MAC、MAC地址频繁跳动,存在则为ARP冲突,需固定IP、绑定ARP。
四、公网层排查:解决跨网、抖动、延迟高问题
确认内网无问题后,卡顿全部来自公网链路、运营商、云平台策略。
1. 带宽跑满、流量拥堵
高峰期带宽占满,报文排队拥堵,直接造成延迟飙升、抖动严重。
排查流量占用:
# 安装流量监控 yum install iftop -y # 查看实时流量 iftop -i eth0
常见场景:爬虫、下载、大文件传输、CC攻击占满带宽,导致正常业务卡顿。
2. 安全组/防火墙限速、丢包
云服务器高发问题!安全组、防火墙、云平台防护规则,会对高频请求、异常报文进行拦截、限流。
表现:ping 偶尔超时、延迟跳变,无规律卡顿。
排查方式:
-
查看云平台安全组、WAF、流量风控日志
-
临时关闭服务器防火墙测试:
systemctl stop firewalld
3. 跨网延迟(最常见的高延迟原因)
电信、联通、移动三大运营商互通存在壁垒:
-
电信用户访问移动服务器 → 延迟高、抖动大
-
跨网链路需要中转,极易出现不稳定
解决方式:开启智能DNS、CDN、多线BGP机房,彻底解决跨网卡顿。
4. MTU 值不匹配导致的隐性卡顿
MTU 是单包最大传输单元,服务器、路由器、运营商 MTU 不统一,会导致数据包分片、重传,表现为:小流量ping正常、大流量业务卡顿。
排查测试:
ping -s 1472 服务器IP -c 100
大包丢包、延迟高,就是 MTU 不匹配问题,常规服务器默认设置 MTU=1500 即可。
五、特殊场景:无丢包但延迟极高
很多时候 mtr 无丢包,但延迟持续偏高,大概率是以下问题:
-
运营商链路绕路、跨省中转
-
节点带宽拥堵、队列排队严重
-
服务器内核网卡队列参数不合理
-
TCP 连接数过多、端口队列占满
查看TCP连接状态:
ss -s
连接数过高、TIME_WAIT 堆积,会持续拉高网络延迟。
六、全网排查标准流程(直接套用)
-
本地ping测试:区分是本地网络还是服务器网络问题
-
内网ping网关:确认服务器内网、网卡是否正常
-
mtr链路检测:精准定位卡顿丢包的路由节点
-
检查网卡状态:排查错包、协商异常、硬件故障
-
核查服务器资源:排除CPU、IO、内存过载导致的假性卡顿
-
监控实时流量:排查带宽跑满、异常流量攻击
-
检查防护策略:安全组、防火墙限流拦截问题
-
核查跨网/MTU:解决隐性延迟、抖动问题
七、长期优化:彻底告别网络卡顿
-
优先选择 BGP多线机房,解决跨网延迟问题
-
配置流量监控、延迟告警,提前发现链路波动
-
优化TCP内核参数,缓解端口队列、TIME_WAIT堆积
-
定期检查网卡、交换机设备,更换老化硬件

338

被折叠的 条评论
为什么被折叠?



