一、什么是压测
压力测试(Stress Testing)
定义:压力测试是性能测试的一种,是通过施加超过系统设计的负载或流量(如高并发、高数据量)来测试系统的承受能力及在高负载下的行为表现。它的目的是评估系统的稳定性和鲁棒性。
压力测试的目标:
找到系统的极限承受能力,确定系统的崩溃点。
观察系统在高负载或极端条件下的行为,如响应延迟、错误率、崩溃等。
评估系统在高负载下的恢复能力,尤其是当负载恢复到正常状态时,是否会出现性能劣化。
压力测试的关注点:
系统在极限负载下的响应时间和错误率。
系统是否能在高负载下保持可用性。
系统在高负载后的自动恢复能力。
二、性能测试与压力测试的区别
示例场景
**性能测试场景:**测试一个电商网站的响应时间,模拟2000个用户同时浏览产品和下单,观察响应时间是否在1秒内。
**压力测试场景:**对电商网站施加5000个并发用户,观察系统是否崩溃或产生错误,并记录系统的崩溃点。
三、压测方案如何制定
压测的目的?
- 测试得出系统的极限性能指标,从而给出合理的承诺值或者容量告警,俗称SLA,99.9%或99.99%下的容量值;