合同里写 99.9%,很多人以为就是「基本不挂」。

换算一下:一个月 43 分钟。听起来还行,但如果探测频率是 5 分钟,一次 4 分钟的故障你可能根本测不到。

公式简单,口径复杂

可用性 =(总时间 − 不可用时间)/ 总时间。

问题在「不可用」怎么定义:状态码非 200 算吗?返回 200 但内容是错误页算吗?TTFB 超过 3 秒算吗?

这些口径不提前约定,年底对账一定吵架。

探测频率决定精度

1 分钟一次,一个月约 4.3 万次探测,能捕捉到分钟级故障。

5 分钟一次,只有 8600 次,中间的空档全是盲区。

所以谈 SLA 的时候,探测频率和节点数要一起写进去,只写百分比没有意义。

多节点怎么算

两种算法:任一节点失败算不可用(严格),或者超过一定比例节点失败才算(宽松)。

前者适合核心业务,后者适合有 CDN 多活的场景。选哪种,提前定。

报表怎么做

按月统计:总探测次数、失败次数、可用率、最长连续故障时长、故障时间分布。

再加一张按地区的可用率表。全国 99.95%,但某个省只有 97%,这张表能暴露问题。

别自己拼数据

手工统计容易漏,也不可复现。用定时拨测跑,原始记录留着,出争议能翻。

一个现实提醒

99.99% 是每月 4 分钟,靠单机房基本做不到。要这个数字,先准备好冗余和切换方案,别只在纸上写。

定时任务和统计在 监控控制台 里配,节点按地区选,报表数据才有说服力。