jmeter并发测试

Ramp-up Period(in seconds)说明

【1】决定多长时间启动所有线程。若设置线程的数量为10,Ramp-up Period设置为100秒,那么Jmeter用100秒启动完10个线程并运行。
Ramp-up需要设置一个相对合理的时间,若设置的太短,则有可能会导致服务器过载,造成一个不说因为平均访问率过高的初始峰值。
Ramp-up若设置太长,则会降低服务器的负载,即有可能一些线程未启动完成,初始启动的线程已经结束运行。
【2】决定建立一个线程所需要的时间。默认值为0,即代表启动测试的那一刻建立所有的线程并执行,若线程数设置为N,Ramp-up设置为T,则表示每隔T/N秒建立一个线程。

调度器说明

【1】选中调度器则必须勾选“永远”,设置启动时间和结束时间,测试启动后判断是否达到设置的启动时间,没有到达则等待直达到达后执行测试,每个循环周期结束后判断是否到达结束时间,若到达则停止执行,若没有到达则继续执行,直到到达结束时间停止执行。
【2】设置启动延迟则会覆盖启动时间,设置持续时间则会覆盖结束时间。

如何设置一个合理的Ramp-up Second时间

能否确定一个准确的Ramp-up Second需要遵守以下两个原则:
1)取样器的点击率是否接近取样器的平均点击率,从而避免Ramp-up Second太小。(平均点击率可以通过建立几个测试线程跑后得出)
2)最后一个线程启动的时候,第一个线程是否已经结束,二者的时间尽可能的长,从而避免Ramp-up Second太大。(通过日志查看第一个线程的执行情况)

具体案例计算说明:
线程数:n
Ramp-up Second:T
循环次数: a (延长线程运行时间)
平均点击率(一个线程循环一次的时间): t
每个线程的运行时间: R = at
(为了确保最后一个线程启动的时候,第一个线程还在运行,即 R>S,a>S/t)
最后一个线程启动的时间: S = (T-T/N)


image.png

average.png

根据图片设置的参数计算各个取值:
n = 10
T = 20
t = 0.1s
S = 18s
a = 200 (18/0.1=180)
R = 2s
从下边的日志可以看到第一个线程运行了20s,即最后一个线程启动的时候第一个线程仍在运行。

log.png

Synchronizing Timer(同步定时器)-集合点的使用

1、作用域
a.定时器在每个Sample之前执行,而不是之后,无论定时器放在Sample之前还是之后。
b.当执行一个Sample的时候,所有当前作用域内的定时器都被执行。
2.作用
类似于集合点的概念,阻塞线程,直到达到设置的线程数后一起释放。
a.Number of Simulated Users to Group by:模拟用户的数量,即指定同时释放的线程数数量
b.Timeout in milliseconds:超时时间,即超时多少毫秒后同时释放指定的线程数
设置没秒集合5个然后释放

image.png

image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容