网络质量实测:延迟抖动丢包
发布时间:2025-11-13 14:19       
更新时间:2025-11-13 17:35
延迟、抖动、丢包三个指标,用 mtr 一条命令就能连续观测。比起单次 ping,mtr 能把每一跳路径都摆出来,定位问题出在哪一段。
一、准备条件
CentOS 执行 yum install -y mtr,Ubuntu 执行 apt install -y mtr。准备一个稳定的目标地址,比如你的服务器 IP 或网关,别拿大网站的域名凑数,测业务链路就用业务实际要走的对端。测试前关掉本机的大流量任务,避免自己把自己测卡了。
二、跑一次标准测试
执行 mtr -r -c 100 目标IP,-r 表示报告模式,-c 100 表示发 100 个探测包,大约一分钟出结果。看输出抓三列:Loss% 是丢包率,Avg 是平均延迟,StDev 是延迟标准差,StDev 越大说明抖动越厉害。报告存成文件更方便归档对比:mtr -r -c 100 目标IP > /tmp/mtr-$(date +%H%M).txt,文件名带上时间戳,多轮结果不会混。
判读有个陷阱:中间某跳丢包不一定是真丢,很多路由器对 ICMP 探测做了限速。判断标准看末端:最后一两跳丢包低、延迟稳定,链路就是健康的;如果中间和末端同时丢包且延迟明显抬升,那段路径才有问题。
三、分时段长跑
单次测试代表不了日常水平。建议至少测三轮:上午一次、下午一次、晚高峰(20 点到 22 点)一次,每轮用 mtr -r -c 600 -i 2,把结果存档对比。晚高峰延迟和丢包明显抬升的线路,跑在线业务前要慎重。线路质量还和方向有关,去程与回程走的路径可能不同,这正是后面要双向测的原因。也可以挂一个长跑记录:nohup ping -i 5 目标IP > /tmp/ping.log 2>&1 &,隔天用脚本统计平均延迟和丢包数,比单点测试更接近真实体感。
四、常见问题处理
mtr 发探测包需要权限,报 Operation not permitted 时加 sudo 再跑。本机到云服务器的质量要双向测:从本地测服务器,再登录服务器用 mtr 反向测本地出口 IP,单向通畅不代表双向都好。测出丢包先联系服务商并附上报告文件,跨网问题需要两端一起查,光靠自己盯屏看不出结果。