使用JMeter进行性能测试主要包含以下步骤:
- 添加线程组,设置线程数来确定并发用户数。
例如:
线程组:
线程数:1000 - 添加取样器(Sampler),例如HTTP请求、SOAP请求等来发送请求。
- 添加逻辑控制器(Logic Controllers)来控制请求流程,模拟真实业务场景。
常用的有:if控制器、ForEach循环控制器、while循环控制器等。 - 添加定时器(Timers)来控制请求发送频率,模拟不同用户的操作间隔。
例如:恒定定时器、高斯随机定时器等。 - 添加监听器(Listeners)来查看测试结果和报告。
常用的有:聚合报告、图表聚合报告、查看结果树等。 - 进行压力测试,需要调整以下参数:
- 增加线程数到所需的并发用户数。
- 减少定时器的间隔时间,增加请求发送频率。
- 运行一定时间(例如10分钟)收集统计数据。
- 根据监听器报告分析性能指标,例如平均吞吐量、错误率、响应时间等。
一个简单的示例:
线程组:
线程数:1000
HTTP缓存管理器:
允许使用缓存:是
缓存模式:仅内存
HTTP请求:
请求URL:http://httpbin.org/get
ForEach循环控制器:
输入值:1,10
恒定定时器:
延迟:0毫秒
聚合报告:
字节:是
字节:是
成功和失败:是
响应时间:是
断言:是
图表聚合报告
聚合报告:聚合报告
运行测试计划,会启动1000个并发用户访问URL,使用缓存减轻服务器压力。
使用ForEach循环控制器循环10次。
恒定定时器设置0毫秒间隔实现高并发。
使用聚合报告和图表查看吞吐量、平均响应时间、成功率等数据。