名词百科

什么是性能测试 / 压力测试?

一句话定义

性能测试是评估系统在特定负载下的响应时间与资源消耗;压力测试是逐步加压直到系统崩溃,用于找出容量上限与瓶颈位置。

发布者:黔序科技

它到底是什么

两者的目标不同:性能测试问「在预期负载下表现如何」,压力测试问「最多能扛多少」。前者验证是否达标,后者探索边界。

它们的共同前提是模拟真实请求分布:只压单个接口得出的数字没有参考价值,真实场景是多种请求混合、有读写比例、有缓存命中与未命中的差别。

怎么运作的

定义指标:响应时间(平均与分位值)、吞吐量(每秒请求数)、错误率、资源占用(CPU、内存、连接数、磁盘 IO)。只看平均值会掩盖长尾延迟。

构造场景:按真实比例混合接口,设置思考时间与并发梯度。数据量也要接近生产,空库压测结果会过于乐观。

加压与观察:逐步增加并发,观察指标拐点。出现响应时间陡增或错误率上升的位置,就是瓶颈所在。

定位:结合应用日志、慢查询、中间件监控判断瓶颈层(应用计算、数据库、网络、锁竞争)。

容易混的几个概念

  • 负载测试:在预期负载下验证表现。
  • 压力测试:超出预期负载,找崩溃点。
  • 稳定性测试:长时间运行,观察内存泄漏与性能衰减。
  • 并发与并行:并发是同时发起,并行是同时执行。

常见问题

压测在测试环境做准吗?

参考价值有限。测试环境配置、数据量、网络通常与生产不同,结论容易过于乐观。条件允许时应在隔离的生产环境或按比例缩容后验证。

为什么平均响应时间正常但用户仍觉得慢?

因为平均值掩盖了长尾。应看分位值(如 95 分位、99 分位),少数慢请求对体验的影响往往大于平均值反映的程度。

J 项目运维 · 同组词条