想问下jmeter100并发压10分钟,线程组该怎么设置呢?
稳定性,模拟50个用户,压10h又该如何设置呢?
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试;
针对第一个问题,如何在Jmeter中进行并发测试,可以按照以下步骤进行设置:
新建线程组,点击“Add”-“Threads(Users)”-“Thread Group”,在右侧的属性框中设置线程数为100,循环次数为1 (因为后面可以设置持续时间)
在线程组里添加http请求,按需要设置请求的URL、参数、数据等内容
在线程组里添加“Constant Throughput Timer”,通过该计时器可以控制每秒钟发送请求数。设置持续时间为10分钟的并发测试,可以计算出每秒钟应该发送多少个请求,例如10分钟共有600秒,假设想要每秒钟发送10个请求,则“Target Throughput”设置为(100/600)10=1.67。如果想要模拟50个用户,持续时间10个小时,同样可以计算出每秒钟需要发送的请求数,例如10小时共有36000秒,假设想要每秒钟发送5个请求,则“Target Throughput”设置为(50/36000)5=0.00694。
在“Thread Group”和“Constant Throughput Timer”之间添加“Runtime Controller”,设置持续时间为需要模拟的时间。
完整的线程组设置如下:
Thread Group
Number of Threads: 100
Loop Count: 1
Runtime Controller
Test Duration: 600 (10 minutes) / 36000 (10 hours)
Constant Throughput Timer
Target Throughput: 1.67 (10 minutes) / 0.00694 (10 hours)
HTTP Request
针对第二个问题,如果需要模拟50个用户持续10个小时,同样可以按照上述步骤设置线程组和计时器,唯一不同的是线程数应该设置为50。完整的线程组设置如下:
Thread Group
Number of Threads: 50
Loop Count: 1
Runtime Controller
Test Duration: 36000 (10 hours)
Constant Throughput Timer
Target Throughput: 0.00694
HTTP Request