公众号旧文
网络实测:跨国网络延迟竟然会周期性变化?
在看到这篇文章之前,你可能会和曾经的我一样,认为:
只要网络路径不变,延迟就应该是稳定的。
偶尔的延迟飙升,或者丢包,不过是短暂的网络拥堵造成的。
但好巧不巧,我昨天一宿没睡,早上5点左右心血来潮,测了一下自己到我的日本服务器的延迟,发现只有40多毫秒,当时还挺开心的,以为是线路优化了,于是就在群里发了消息,但是群消息一段时间后会自动销毁,现在没有办法截图了,只有昨天傍晚的截图,不过也够了。

更巧的是,早在3月11号,我就开始了一次持续的测量,每4分钟,用和我一样分布在全国的,14个不同的联通网络,去测量一次到我的日本服务器的延迟,于是我刚刚就拿截至目前的测量结果,画出来14张延迟序列折线图,这些图着实令我眼前一亮。
为方便大家观察,我做了一个gif,非常直观:

中间有段空白,是因为我的服务器所在的机房被打,商家直接拔线了,大概有3天左右机器是失联的,但剩余的蓝色折线已经可以说明问题。
在网络路径不变的情况下,延迟并不是像我之前想象中的那样始终不变的,而是会在不同的时间段,有不同的延迟,且呈周期性变化。下面是gif中的一个单张图片:

取其中的某一天的结果:

可以明显地看到:
从00:00到00:30,延迟在90ms到110ms之间波动。
从00:30到01:30,延迟稳定在90ms。
从01:30到04:00,延迟逐渐的往下掉,最终从90ms掉到了40ms。
从04:00到06:30,延迟稳定在40ms。
从06:30到10:00,延迟逐渐从40ms回到90ms。
从10:00到15:00,延迟在90ms到110ms之间波动。
从15:00到18:30,延迟逐渐的往上升,最终从90ms升到了110ms。
从18:30到22:30,延迟稳定在110ms。
从22:30到23:59,延迟在110ms到90ms之间波动。
根据延迟的周期性变化过程,可以得出的简单结论是:
这样和时间段整齐对应的延迟变化,显然是人为原因导致的,而不是自然的波动,但由于我不是网络运营商业内人士,没办法解释为什么会这样,我能想到的就是,上网高峰期,运营商人为的让数据包多排一会儿队,但是并不清楚这样做对运营商的网络会有什么正向的作用,因为数据量并不会多排了一会儿队就减少。
如果读者中,有谁知道运营商这样做的原因,希望可以在评论区说说,不吝赐教。
而对于广大的用户来说,则可以根据延迟这样的周期性变化,把一些对延迟要求较高的网络任务,放到延迟低的时段来定时进行,但人上网是没办法了,总不能为了那点儿延迟就调整自己的作息时间,每天04:00到06:30爬起来上网吧。
如果你也想测一下全国的各运营商,到你的目标IP的延迟周期性变化,可以评论或者私信我,人少的话,我很快就可以帮你测,但人多的话,就也得像上网高峰期的数据包一样,多排一会儿队啦。