只看红绿,漏掉了「变慢」

同事发来端口检测报告,我先看颜色:全绿,结论「没问题」。后来用户说连接很慢,我才回头看清每一行的耗时。

通不通是二值,慢不慢是连续值。报告里两者都有,我只用了一半。那次之后我强制自己每次看三遍。

第一层:有没有建立连接

看成功率。成功就是三次握手完成,失败要看是拒绝还是超时,报告里一般会标注失败类型。

拒绝说明端口没服务或者策略明确拒绝,超时说明包被丢了。这两种处理方向不同。

少数节点失败,先看是不是那几个节点自己的问题;大面积失败,才轮到目标。

宝塔拨测控制台:定时拨测任务、节点与告警配置

宝塔拨测控制台:定时拨测任务、节点与告警配置

第二层:握手耗时

成功的节点里,看最快、最慢、平均。

握手耗时能反映链路质量。不同地区差异大,说明线路覆盖不均;同一个节点忽快忽慢,说明存在抖动。它比 ping 更接近业务实际连接的耗时。握手耗时里既有链路往返,也有目标响应,想看是哪种,就对比同地区不同目标:目标侧慢会体现在所有节点上,线路慢则挑运营商。

耗时突然整体抬升而成功率还正常,往往是最早的故障信号。

第三层:分布

按地区、按运营商分组,看异常集中在哪。

全部节点变慢,偏目标侧;只有某一家运营商,偏互联;只有某个省,偏区域路由,这个顺序可以从大到小逐层排除。

一层层缩小,比看总体平均值有用。报告里的平均耗时会被极端值拉高,要结合最快最慢一起看,样本少的组别结论也要谨慎。

从报告到监控

一次性报告只能说明当时。要持续,就配成定时任务,按周期跑。

在宝塔拨测的控制台里可以设多个任务,覆盖不同端口和目标,告警按任务分开。任务数量别多到没人看。

告警阈值别只看成功率。握手耗时超过平时基线也值得报,这是「还没坏但快坏了」的信号。阈值要基于自己的历史数据,别照搬别人的数字,业务不同,合理范围也不同。

连续两三次异常再报,能过滤抖动,又不至于太迟钝。告警方式也要选对,短信和群消息的打扰程度不一样,半夜的告警要能分级,别让告警变成噪音。

复测和留档

改完配置用同一批节点复测,先看成功率,再看耗时分布。

把每次报告存下来,标时间和变更。下次出问题,能立刻判断是「一直这样」还是「刚变的」。留档是给未来的自己省时间。

通与不通只回答了一个问题,快与不快才回答用户真正关心的那个,报告读到位,告警才设得准,这两件事本来就连着。