JMeter压力测试线程组设置策略详解
JMeter压力测试线程组设置策略详解
在JMeter压力测试中,常见的测试场景包括单场景基准测试、单场景并发测试、单场景容量测试、混合场景容量测试、混合场景并发测试以及混合场景稳定性测试。本文将详细介绍这些场景下的线程组设置策略,并使用Custom Thread Groups插件来增强线程组设计的灵活性。
一、单场景基准测试
介绍
单场景基准测试通常在压力测试实施前进行,用于检测被测功能的性能指标,以判断制定后期的测试计划。基准测试的策略可以是单用户执行一次或者单用户迭代执行多次。在这里我们采用后者。
线程组设计
这里的脚本设计很简单,就是1线程组循环100次。
测试结果
一般情况下,我们可以在生成的HTML报告中查看测试结果,也可以在GUI界面导入生成的jtl文件查看。
二、单场景并发测试
介绍
单场景并发测试是针对单个接口利用一定量的并发进行测试,获取其性能表现,并验证接口是否存在并发性问题。
线程组设计
单场景并发测试的设计比较简单,就是在线程组设置中设置若干数量的线程数。这里我们通过Custom Thread Groups插件来更好体现线程组设计。
该线程组的意思为:2000用户并发,在200S完成加载到2000用户;然后持续运行900S,然后以100S来结束2000用户。
测试结果
测试结果可以在HTML报告中查看。
三、单场景容量/爬坡测试
介绍
单场景容量测试,也叫做爬坡测试,通过爬坡测试获得系统的最佳并发用户数。
线程组设计
在这里我们也使用插件来表现:
我们来简单讲一下这个线程组设计:
- 首先这个线程组是以1000并发数开始,每次递增200用户,直到递增到2000用户。
- 第三和第四列可以根据需求进行设计。
- 按照设计,低234列相加的和应该是2000。
- 初始化时间等于在此之前并发的运行时间。
- 例如第二行的400,等于增加到1000用户的100s+平均每个阶梯平缓的时间(1900s-20s*5)/6=400s。
- 第三行则是400s+300s+20s=720s。
测试结果
容量测试的结果更建议大家到HTML报告中进行查看。我们先看看Response Times Over Time,很明显在13.09左右达到了3s左右的响应时间。那我们再看看Active Threads Over Time中该时间段的并发用户数,由此可见最佳用户数是1400。
四、混合场景容量/并发测试
介绍
混合场景容量/并发测试与单场景的差别不大,无非就是多个场景混合在一起。
五、稳定性测试
介绍
稳定性测试是为获取多个接口在长时间的负载级别下,平均响应时间、资源利用率的稳定性、事务成功率的稳定性,验证系统的稳定运行能力,获取系统长时间运行的稳定性指标。在稳定性测试中,我们往往要跑好几个小时的性能脚本,所以一般建议大家一定要在下班后挂着。
线程组设计
在这里我们拿五个脚本。一共是2000用户并发。按照惯例我们最后得到每个脚本为240用户并发。于是每个线程组设置为: