线程启动后,就会直接发送测试请求,但是如果想要模拟在某一瞬间高并发量测试的时候,就需要将线程数设置的很大,这就会很耗费测试机的性能,往往无法支持较大的并发,无法控制每次测试的瞬间并发量。
这时我们可以考虑使用集合点:synchronized timer,如下图
由于Jmeter的版本不同,synchronized timer的界面是略有不同的
Number of Simulated Users to Group by:表示每集合到多少个模拟用户(线程)后发送一次测试请求;例如设置为5,那么Jmeter会等到5个线程都运行到此处时,这五个线程才开始执行后面的 *** 作,先到达的线程将会在此等候。
运行结果可以通过查看结果树来查看,如下图:
同时观察多个请求,他们的取样器结果的Sample Start是一样的,是批量执行的。
注意:并发测试时,Number of Simultaneous Users to Group by中设置的值不大于它所在线程组包含的用户数
方法/步骤
cmd运行jmeter
#已设置环境变量
这里不介绍怎么简单的运行一次测试了,请查看另一篇经验。
直接添加上次保存的脚本
demo-baidu.jmx
请点击输入图片描述
请点击输入图片描述
设置并发线程数
#设置为20.
请点击输入图片描述
设置Ramp-Up period,多长时间内初始化完这些线程。
这里设置为5,意思是5秒内启动20个线程,相当于1s启动4个。
请点击输入图片描述
设置循环次数
#在一般性能测试中,是需要设置循环次数的。或者设置持续时间,在jmeter里面可以用调度器。
#如果使用调度器就会覆盖上面的设置
这里先设置循环10次。
请点击输入图片描述
点击运行,查看结果。
一半的失败率。
查看响应信息是 从服务获取响应信息失败。
尝试加入延迟定时器,再次访问还是有一半的失败率。说明百度对于这种并发访问是有处理机制的。
请点击输入图片描述
请点击输入图片描述
然后我换了访问我本地的一个服务页面。
再次运行测试,查看结果。
100%成功。
请点击输入图片描述
请点击输入图片描述
请点击输入图片描述
从结果树看到,首页请求后有三个请求。
是因为勾选了跟随重定向。
请点击输入图片描述
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)