首页/网络/网络排障速查/合成拨测与网络 SLI 指标

合成拨测与网络 SLI 指标

把『用户觉得慢』变成可跟踪指标:按地域/运营商分布式拨测,采集可用性、时延分位与丢包,用 P95/P99 与趋势判断体验劣化。

网络排障速查网络更新于 2026-10-13

合成拨测是什么

合成拨测是用脚本化的探针按固定频率主动请求目标服务,把『用户觉得慢』翻译成可跟踪的数字:可用性、时延分位与丢包率。探针要分布式部署在地域与运营商维度上,并且与被测系统解耦,否则被测系统一挂,探针一起消失,监控就失去意义。

基本信息

适用平台任意 Linux 探针机;数据侧通常接入时序库与看板
采集内容HTTP 状态码、DNS/连接/首字节/总耗时、丢包率
对比工具curl -w 轻量探针、blackbox_exporter + Prometheus
告警口径分位数与趋势(P95/P99、连续 N 次失败),不用单点采样

典型使用场景

  • 上线前的体验基线:留下各地区、各运营商的 P95 时延,作为后续劣化判断依据
  • CDN 或线路切换验证:切换前后用同一批探针数据对比,而不是靠个别用户反馈
  • SLA 举证:对客户或供应商提供带时间戳的可用性与分位数据
  • 故障复盘的数据源:与真实用户监控(RUM)交叉验证,区分探针盲区与真实劣化

轻量探针

轻量探针
while true; do
  ts=$(date +%s)
  # 拆出 DNS、TCP、TLS、首字节与总耗时,便于归因到具体阶段
  out=$(curl -sS -o /dev/null -m 10 -w '%{http_code} %{time_namelookup} %{time_connect} %{time_appconnect} %{time_starttransfer} %{time_total}' https://example.com/ 2>/dev/null)
  echo "$ts $out"
  sleep 60
done >> /var/log/probe/example.log

指标判读

指标含义异常指向
可用性成功请求占比骤降多为服务端或链路中断
P95/P99 时延长尾体验均值正常而 P99 劣化,常见于排队与重传
name_lookupDNS 解析耗时偏高指向本地 DNS 或上游解析
connect / appconnectTCP 与 TLS 握手耗时偏高指向链路往返时延或证书链问题
拨测数据要与真实用户监控交叉验证:探针固定走少数出口,覆盖不到的用户路径只有 RUM 能暴露;两类数据结论不一致时优先排查探针所在网络。
探针频率与并发要有上限,分布式探针叠加会对目标服务形成压测效应;生产站点上把间隔、超时与并发写进探针配置并评审。

易错点

  • 单点探针代表全网体验:掩盖地域、运营商与出口差异,报障时拿不出有说服力的证据
  • 只看平均值与可用性:忽略 P99 长尾劣化,用户侧体感已经很差而看板仍然是绿的
  • 探针与被测服务部署在同一机房甚至同一宿主:同生共死,故障时数据缺失
  • 只采数据不设分位阈值:告警全靠人肉看图,故障响应滞后

数据来源与参考

  • Google SRE Book:SLI/SLO 与监控
  • RFC 2330:IP 性能指标框架

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌