负载测试是性能测试的一种类型,用于评估系统在特定负载条件下的表现。其核心目标是验证系统在预期或更高负载下能否维持稳定的性能指标(如响应时间、吞吐量、资源利用率等)。
核心特征
模拟真实场景
通过工具(如 JMeter、LoadRunner)模拟多用户并发操作,例如:- 同时访问网站页面
- 并发提交表单
- 高频 API 调用
关键指标监测
- 响应时间:Tresponse=Tserver+TnetworkT_{response} = T_{server} + T_{network}Tresponse=Tserver+Tnetwork
- 错误率:Error Rate=Failed RequestsTotal Requests×100%Error\ Rate = \frac{Failed\ Requests}{Total\ Requests} \times 100\%ErrorRate=TotalRequestsFailedRequests×100%
- 系统资源:CPU、内存、I/O 使用率
阶梯式加压
典型负载模式(例如每秒用户数):0s → 50用户 60s → 200用户 120s → 500用户
典型应用场景
与压力测试的区别
| 负载测试 | 压力测试 |
|---|---|
| 验证预期负载下的性能 | 探测系统崩溃临界点 |
| 关注稳定性与合规性 | 关注故障恢复能力 |
| 负载量≤设计上限 | 负载量>>设计上限 |
执行流程
- 定义基准负载(如:支持 1000 用户在线)
- 配置监控工具(Prometheus+Grafana)
- 执行递增负载脚本
- 分析性能拐点(例如:当并发用户 > 800 时,响应时间从200ms200ms200ms突增至1.5s1.5s1.5s)
重要提示:有效的负载测试必须包含业务逻辑多样性(例如购物车操作需覆盖 30% 添加商品 + 50% 浏览 + 20% 结算),避免单一操作导致失真结果。