本文目录导读:

- 第一梯队:技术底线(红线指标)—— 必须时刻盯死
- 第二梯队:基础设施(容量指标)—— 提前规划
- 第三梯队:业务运营(增长指标)—— 关乎产品价值
- 第四梯队:工程效能(研发效率)—— 长期价值
- 针对 PHP 项目的“特殊”建议
- 总结建议
在 PHP 项目中,最值得重点关注的指标可以分成两大类:业务/运营层面和技术/工程层面,前者关乎产品价值,后者关乎系统健康与迭代效率。
如果在预算和精力有限的情况下,优先级建议“先保命(技术),再求发展(业务)”。
下面我按优先级从高到低,梳理出最核心的指标:
第一梯队:技术底线(红线指标)—— 必须时刻盯死
这些指标直接决定系统是否“挂掉”或“瘫痪”,属于零容忍问题。
- 接口响应时间与吞吐量(QPS/TPS)
- 为什么重要:用户体验的基石,PHP 是同步阻塞模型,如果一个接口耗时 2 秒,在高并发下,PHP-FPM 的进程池会被瞬间占满,导致雪崩。
- 建议关注:P95/P99 响应时间(去除尖刺,看真实体验),以及 QPS(每秒请求数)峰值,重点关注 慢查询日志(如 >1s 的 SQL)。
- 错误率与异常监控
- 为什么重要:PHP 的致命错误(Fatal Error)会导致 500,而业务逻辑异常(如重试扣款)会导致数据错乱。
- 建议关注:5xx 错误率、应用异常数(Exception)、以及 日志丢失率,出现 500 必须能通过邮件/飞书/钉钉告警第一时间感知。
- 核心资源利用率(CPU / 内存 / IO)
- 为什么重要:CPU 打满通常意味着死循环或算法退化;内存打满会导致 OOM(Out Of Memory)或者频繁触发
GC(垃圾回收)导致性能骤降。 - 建议关注:PHP-FPM 进程的内存占用(是否泄漏)、MySQL 的慢查询数量、Redis 的命中率与内存使用。
- 为什么重要:CPU 打满通常意味着死循环或算法退化;内存打满会导致 OOM(Out Of Memory)或者频繁触发
- 队列堆积量(如果项目中有消息队列)
- 为什么重要:PHP 常用于处理异步任务(发邮件、发短信、同步数据),如果队列堆积,意味着核心异步业务(如订单状态同步)中断。
- 建议关注:队列长度趋势、失败重试次数。失败消息的积压比队列消费慢更可怕,需要立即处理。
第二梯队:基础设施(容量指标)—— 提前规划
这些指标反映系统还能撑多久,是否需要进行扩容或优化。
- MySQL 慢查询与数据库连接数
- 为什么重要:PHP 项目中 90% 的性能瓶颈都在数据库,数据库连接数耗尽,相当于整个应用假死。
- 建议关注:
Slow Query数量、Threads_connected(连接线程数)、InnoDB缓冲池命中率。
- PHP-FPM 进程状态
- 为什么重要:PHP-FPM 是 PHP 的“马夫”。
listen queue积压,说明现有进程数不够或者有慢请求阻塞。 - 建议关注:
active processes(活动进程数)与max_children的比例,以及listen queue的长度(出现积压就是警告)。
- 为什么重要:PHP-FPM 是 PHP 的“马夫”。
- 缓存命中率(Redis / Memcached)
- 为什么重要:缓存是 PHP 缓解数据库压力的利器,命中率低意味着每次请求都在穿透数据库。
- 建议关注:热点 Key 的命中率、缓存穿透、击穿、雪崩的监控。
第三梯队:业务运营(增长指标)—— 关乎产品价值
这些指标不直接反映技术问题,但决定了技术投入的方向。
- 核心转化漏斗
- 这是最重要的业务指标。
- 比如电商:访问 → 搜索 → 加购 → 下单 → 支付 每一步的转化率。
- 如果转化率断崖式下跌,技术团队需要排查是否页面加载变慢、接口报错导致用户流失。
- DAU/WAU(日活/周活)与留存率
- 为什么重要:如果一个 PHP 项目(比如API服务)的接口被外部调用,监控
DAU可以反映用户粘性,留存率差,再怎么优化性能也无济于事。
- 为什么重要:如果一个 PHP 项目(比如API服务)的接口被外部调用,监控
- 用户反馈与工单阻塞率
- 为什么重要:这是真实业务痛点的来源,用户在后台报错“页面白屏了”,比任何监控数据都直观。
第四梯队:工程效能(研发效率)—— 长期价值
这部分容易被忽视,但对团队影响巨大。
- 部署成功率与回滚速度
- 为什么重要:PHP 发布频繁,如果一次发版导致线上 BUG 且无法快速回滚(黄金指标是秒级回滚),技术指标再好看也会造成严重经济损失。
- 技术债偿还率
- 建议关注:
Composer依赖安全漏洞数量;单元测试覆盖率;CI/CD 构建时间。
- 建议关注:
针对 PHP 项目的“特殊”建议
以下两点对 PHP 项目尤其值得注意,因为是有别于 Java/Go 的特殊性:
- OpCache 命中率: PHP 是解释型语言,如果不开启 OPCache 或者命中率过低,每次请求都要重新编译 PHP 文件,导致 CPU 疯转,这是 PHP 项目特有的“红线”指标。
- Session 存储方式: 如果是多机部署,PHP 默认的文件 Session 会导致用户掉线,监控
Session 丢失率或查看是否正确转移到了 Redis,这是横向扩展的前提。
总结建议
- 如果只能看一个指标:看 核心场景的 P99 响应时间,它综合了服务器状态、代码质量和数据库性能。
- 如果只能看两项:加上 系统 5xx 错误率。
- 如果能看三个:加上 数据库慢查询数量。
落地建议:不要一次性堆砌所有监控指标,建议先接入 Sentry(错误监控) + Xhprof(PHP 性能剖析) + Prometheus + Grafana(基础资源监控),这三板斧能覆盖 80% 的致命问题。