1813
5
5516
超级版主
做后端开发、接口压测、服务监控,一定会见到 QPS、TPS、RT、P95、P99、并发数、错误率这一堆名词。很多人容易把它们混为一谈。简单概括:QPS/TPS 看处理吞吐量,RT 看响应快慢,P 分位数看长尾体验,错误率看稳定性,资源指标用来定位瓶颈,可用性衡量整体服务可靠程度。 本文面向后端初学者、测试、运维人员,通俗讲解各项指标含义、相互关系以及常见踩坑误区。
本文面向后端初学者、测试、运维人员,通俗讲解各项指标含义、相互关系以及常见踩坑误区。
举例:商品详情接口每秒被访问 1000 次,该接口 QPS=1000。
举例:电商每秒成功成交 200 笔订单,下单 TPS=200。完成这 200 笔订单背后,接口 QPS 可能达到上千。
关键区分:QPS 统计 “来了多少次请求”;TPS 统计 “真正办成多少件完整业务”。只有单接口简单场景,QPS 才约等于 TPS。
巨大坑点:平均值很有欺骗性。举个例子:100 次请求,99 次耗时 10ms,1 次耗时 10 秒。平均响应时间只有约 110ms,看起来性能尚可,但那 1% 的用户会遇到十几秒的卡顿。平均值掩盖长尾慢请求,线上故障很多就来自这一小部分慢请求。
注意:不能孤立看吞吐量。吞吐量很高,但响应时间暴涨,说明系统已经超负荷在硬扛,用户体验会急剧恶化。
启示:同样 QPS,如果接口响应越慢,占用的并发就越高,线程、连接池压力越大。优化 RT,不止提升体验,还直接降低系统资源压力。
案例:秒杀接口每秒接收 10 万请求,但是 9 万请求全部报错超时。虽然 QPS 数字巨大,但系统实际已经被打垮,不能代表性能优秀。
很多时候服务本身代码没问题,瓶颈出现在数据库、中间件、第三方依赖。
可用性不等于性能。接口响应很快,但是经常宕机重启,可用性依旧很差;接口响应偏慢,但是全年极少故障,可用性反而很高。高可用依靠冗余、故障转移、限流熔断降级、监控告警共同保障。
压测不要只追求最大 QPS 数字。必须附加约束条件,例如:P99<800ms,错误率 < 0.1% 前提下,最大 QPS 达到多少。脱离响应时间、错误率,单纯的 QPS 数字没有实际业务意义。压测环境还要确认:机器配置、数据量大小、是否命中缓存、数据库是否真实写入、网关日志、第三方依赖,否则压测结果好看,上线生产直接翻车。
举报
本版积分规则 发表回复 回帖后跳转到最后一页
相关侵权、举报、投诉及建议等,请发 E-mail:2026@typc.net
Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|晋ICP备2026008270号-1|晋公网安备14010602111293号