压力测试与性能测试的区别
1. 压力测试
定义:通过逐步增加系统负载(如并发用户数、请求量),直至系统超出极限(崩溃、响应超时、错误率飙升),以确定系统的最大承载能力和稳定性边界。
常见场景:
- 电商平台“双11”峰值流量模拟(如10万用户同时下单);
- 服务器CPU/内存资源耗尽时的表现测试;
- 数据库在海量数据写入/查询下的极限处理能力。
核心指标:
- 最大并发用户数、最大TPS(每秒事务数);
- 系统崩溃阈值(如CPU使用率100%、内存溢出);
- 错误恢复能力(崩溃后重启时间、数据一致性)。
2. 性能测试
定义:在正常或预期负载下,测试系统的响应速度、吞吐量、资源利用率等性能指标,验证是否满足业务需求和性能基准(如“页面加载≤3秒”“接口响应≤500ms”)。
常见场景:
- 网页/APP日常访问的响应时间测试;
- 数据库查询/写入操作的性能优化(如索引效率);
- 接口在“日均1万次请求”下的稳定性验证。
核心指标:
- 响应时间(RT)、吞吐量(TPS/QPS);
- 资源利用率(CPU、内存、磁盘I/O、网络带宽);
- 错误率(如HTTP 5xx错误占比)。
3. 压力测试 vs 性能测试
4. 总结
性能测试:“在正常情况下跑一跑,看快不快、稳不稳”(验证是否达标);
压力测试:“往死里怼,看什么时候垮、怎么垮”(探索极限边界)。