我把测速当成了监控

有段时间我每天早上打开测速工具跑一次,看到一片正常就安心。后来某天夜里数据库连接池被打满,站点挂了好几个小时,我是被客户电话叫醒的。第二天早上再测,一切正常——因为那时候已经恢复了。

测速告诉我「现在怎么样」,没告诉我「刚才怎么样」。

快照和时间序列的区别

测速是一次抽样。按下去的那一刻,几个节点同时访问,拿回一组结果。

监控是持续采样。按固定间隔不停跑,把每次的状态记下来,异常时主动通知人。

差别不在工具本身,而在采样密度和有没有人盯着。故障发生在两次抽样之间,测速永远看不见。很多人以为自己有监控,其实只是偶尔想起来看一眼。

测一次,能回答什么

现在通不通,看 HTTP 状态码就够了:5xx、超时、异常跳转,一眼能分开。

慢在哪一段,靠五段耗时:DNS、TCP、TLS、TTFB、下载拆开看,哪一段占大头,排查方向就往哪边去。

影响谁,靠节点分布:多地区多运营商跑一遍,按运营商和地区分组,看是全网还是局部。平均、最快、最慢三个数摆在一起,能判断是普遍偏慢还是个别节点拖后腿。

改完配置再连续复测,能验证有没有效果。这些是宝塔拨测的网站测速最擅长的事,也是它该待的位置。

它答不了的几类问题

夜里三点挂了两分钟,早上测十次都是正常的。间歇性丢包、定时任务把带宽打满、证书在周末过期,这些都不是一次测速能抓到的。

趋势也答不了。这周比上周慢了,是用户涨了、页面重了,还是线路退化了?单次结果没有基线,比不出来。

容量更答不了。测速只发几个请求,压不出带宽上限,也压不出并发瓶颈。

配合起来才完整

我的做法是把两件事分开:监控负责发现有事,测速负责判断哪里有事。

监控按周期跑固定检查,状态码异常、响应时间明显拉长、某个地区连续失败,就触发告警。告警来了,再跑一次多节点测速,用分段耗时和分组结果定位。

修完之后同样用测速复测,确认异常消失。只看监控曲线回去了就关单,很容易漏掉还没恢复的那部分用户。

复测的讲究

故障期间复测,间隔要短,盯同一批节点看变化。恢复之后别只测一次就收工,连着测两三次,确认不是刚好撞上恢复的那一瞬间。

结果要和故障前的基线比,比拿它和「感觉」比靠谱得多。没有基线的话,从现在开始留一份,每次的节点结果存下来,下次出问题能直接对照。