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

后端系统和服务稳定性,核心指标通常可以分成 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

作为最小闭环。

相关推荐
SPC的存折2 小时前
openEuler 24.03 MariaDB Galera 集群部署指南(cz)
linux·运维·服务器·数据库·mysql
仲芒2 小时前
[24年单独笔记] MySQL 常用的 DML 命令
数据库·笔记·mysql
SPC的存折2 小时前
MySQL 8.0 分库分表
linux·运维·服务器·数据库·mysql
蓦然乍醒3 小时前
使用 DBeaver 还原 PostgreSQL 备份文件 (.bak) 技术文档
数据库·postgresql
XDHCOM3 小时前
Redis节点故障自动恢复机制详解,如何快速抢救故障节点,确保数据不丢失?
java·数据库·redis
QCzblack3 小时前
BugKu BUUCTF ——Reverse
java·前端·数据库
cyber_两只龙宝3 小时前
【Oracle】Oracle之DQL中WHERE限制条件查询
linux·运维·数据库·云原生·oracle
luis的妙妙屋3 小时前
主流数据库数据类型对比分析
数据库
XDHCOM3 小时前
ORA-00054资源忙故障修复,远程处理Oracle报错解决方案,数据库锁超时NOWAIT指定问题排查
数据库·oracle