有人问多少算正常

「Ping 多少毫秒算正常?」这个问题我被问过很多次。以前我会给一个数字,后来发现不给上下文,数字就是误导。

同样的 40 毫秒,同城访问算慢,跨国访问算快。脱离距离和业务,谈正常没有意义。

问题在于,很多人拿着一个数字就下结论:超过多少就换机房,低于多少就觉得没事。

距离先划了下限

信号在光纤里的速度有限,往返还要算上来回。物理距离摆在那,再好的线路也快不过这个下限。

实际延迟还要加上路由绕行、设备处理、排队。同样一段距离,绕行的线路可能比直线多走好几倍。所以跨省和同城的合理区间,本来就不该一样。

看到跨地区延迟高,先判断它是否接近物理下限,而不是急着换机房。

PING 测速:多节点延迟与丢包一览

PING 测速:多节点延迟与丢包一览

业务决定能忍到哪

打开网页,几十毫秒的差别用户未必感知;交互式操作、远程终端、实时对战,对这个就敏感得多。

数据库主从复制、API 调用链,延迟会被放大,一次请求里可能要串好几次。视频会议对抖动更敏感,下载大文件更在意带宽,延迟稍高也能接受。

内网服务和外网服务的基线,也不该共用。

所以「正常」要按业务定,不同服务的容忍度完全不同。

用固定节点建基线

与其背标准,不如测自己的。

选几个固定节点,在相近时段连测几次,记下延迟范围和抖动。这条基线才是你判断「变没变」的依据。基线至少要包含三样:正常范围、常见抖动幅度、各运营商的差异。

用宝塔拨测的 PING 测速跑多地区多运营商节点,响应最快、最慢和平均一起看,基线就有分布,不只是一个平均数。

抖动比平均值更值得盯

平均延迟正常、抖动很大,用户体验是一阵一阵地卡。

判断抖动看最快和最慢的差距。差距稳定且小,链路健康;差距忽大忽小,说明有拥塞或路由变化。

只看平均值,这类问题永远看不出来。还有一种周期性抖动,隔几分钟出现一次,通常和带宽争抢或者定时任务有关。记录时带上时间点,能看出是不是规律。

什么才算异常

三条同时满足:明显偏离自己的基线、连续几次都这样、集中在某个运营商或地区。

只满足一条,先当抖动处理,复测再说。

真异常了,按分组查线路,按分段查服务。还要区分「一直慢」和「突然慢」:前者更像结构问题,后者更像某次变化引起的。

把标准换成基线,问题就从一个抽象数字,变成一个可以比较的对象。别拿一个数字去解释所有问题。