后端系统、服务稳定性里核心的指标有哪些

后端系统和服务稳定性,核心指标通常可以分成 6 组来看:
SLA(Service Level Agreement)
QPS(Queries Per Second)

文章目录

1. 可用性指标

这是最核心的一层,回答"服务是不是能正常用"。

  • Availability / SLA / SLO

    • 可用率,例如 99.9%、99.95%
    • 常见公式:成功服务时间 / 总服务时间
  • 错误率

    • 5xx 比例
    • 业务失败率
    • 接口异常率
  • 成功率

    • 请求成功数 / 总请求数
    • 有时比"错误率"更直观

这组指标最适合做高层稳定性看板。


2. 延迟指标

服务没挂,不代表服务可用;慢到超时,本质上也等于不可用。

  • 平均响应时间

    • 参考意义有限,容易被掩盖
  • P50 / P90 / P95 / P99 延迟

    • 最重要的是尾延迟,尤其是 P95/P99
  • 超时率

    • 请求超时占比
  • 排队时间

    • 在线程池、连接池、消息队列里等待的时间

稳定性场景里,P99 延迟通常比平均延迟更值得盯。


3. 吞吐与容量指标

回答"系统在多大压力下还能稳住"。

  • QPS / RPS / TPS

    • 每秒请求数、事务数
  • 并发数

    • 同时处理中的请求数
  • 带宽/流量

    • 入站、出站流量
  • 队列堆积

    • MQ backlog
    • 任务积压数
  • 容量使用率

    • 当前负载占设计容量的百分比

这组指标用来判断是不是"流量打满导致不稳定"。


4. 资源健康指标

回答"服务为什么不稳,底层资源有没有问题"。

  • CPU 使用率 / Load

  • 内存使用率

    • 尤其关注 OOM、内存泄漏趋势
  • GC 指标

    • GC 次数、GC 停顿时间(JVM 很关键)
  • 磁盘

    • IOPS、磁盘使用率、磁盘延迟
  • 网络

    • 丢包率、重传率、连接数
  • 文件句柄 / 线程数 / 连接池使用率

    • 很多服务雪崩都卡在这些地方

这类指标更偏"根因定位"。


5. 依赖稳定性指标

后端服务通常不是单机问题,而是依赖链问题。

  • 数据库指标

    • 连接数
    • 慢查询数
    • 锁等待
    • 主从延迟
  • 缓存指标

    • 命中率
    • 淘汰率
    • 连接超时
  • 消息队列指标

    • 积压量
    • 消费延迟
    • 重试率
  • 下游 API / 微服务依赖

    • 成功率
    • 延迟
    • 超时率
    • 熔断次数
  • DNS / 注册中心 / 配置中心

    • 可用率、错误率、响应时间

实际线上故障里,很多"本服务故障"本质是 依赖故障放大


6. 恢复能力指标

稳定性不只是"少出故障",还包括"故障后恢复得快不快"。

  • MTTR(平均恢复时间)

    • Mean Time To Recovery
  • MTBF(平均故障间隔)

    • Mean Time Between Failures
  • 故障次数

    • 按周、按月统计
  • 告警到发现时间

  • 发现到止损时间

  • 止损到恢复时间

管理层和稳定性负责人通常会非常关注这组指标。


如果只能抓最核心的 8 个

很多团队一开始不要铺太多,先盯这 8 个最有效:

  1. 可用率
  2. 请求成功率
  3. 5xx 错误率
  4. P95 / P99 延迟
  5. QPS / 并发数
  6. CPU / 内存使用率
  7. 下游依赖成功率和延迟
  8. MTTR

不同角色最该看什么

管理层/项目负责人

更关注结果型指标:

  • 可用率
  • 严重故障次数
  • MTTR
  • 业务成功率
  • 核心链路 SLO 达成率

开发/架构/运维

更关注过程型指标:

  • P99 延迟
  • 错误率
  • 资源使用率
  • 数据库慢查询
  • 缓存命中率
  • 队列积压
  • 依赖服务异常

一个常见的指标分层方法

可以按这三层设计监控体系:

  • 用户层:成功率、延迟、可用率
  • 服务层:QPS、错误率、线程池、连接池
  • 基础设施层:CPU、内存、磁盘、网络
  • 依赖层:DB、Redis、MQ、下游服务

一个经验结论

稳定性里最容易犯的错有两个:

  • 只看平均值,不看分位数
  • 只看自己服务,不看依赖链路

所以实践里,通常会把:
成功率 + P99 延迟 + 依赖成功率 + MTTR

作为最小闭环。

相关推荐
霸道流氓气质7 小时前
Spring 事务传播机制与 REQUIRES_NEW
java·数据库·spring
YOU OU7 小时前
Redis分布式锁
数据库·redis·分布式
小草儿7998 小时前
GBase 8s CLOB → VARCHAR(32739) 数据迁移方案文档
数据库
秋田君8 小时前
QT_QColorDialog颜色对话框
java·数据库·qt
涛声依旧393168 小时前
运维项目:InnoAI SQL 助手
运维·数据库·sql
万悉科技8 小时前
时尚品牌GEO技术选型指南:LLM原生优化与AI记忆构建全解析
数据库·人工智能·搜索引擎
lb29178 小时前
在window上安装orcale数据库流程(快速,简洁)
数据库
IT小盘8 小时前
09-使用Redis保存大模型多轮对话上下文
数据库·redis·缓存
秋田君8 小时前
QT_QT布局常用类QSplitter窗口分割类与QDockWidget窗口停靠类
开发语言·数据库·qt
小果因子实验室9 小时前
策略研究--qmt实现新股自动申购卖出策略
数据库