jmeter并发误区及集合点(同步计时器),吞吐量定时器

性能测试的方法主要包括以下几种:负载测试(load Testing),压力测试(Stress Testing),配置测试(Configuration Testing),并发测试(Concurrency Testing),可靠性测试(Reliability Testing),基准测试(Benchmark Testing)

并发测试时通过模拟用户并发访问,测试多用户同时访问同一应用、模块或数据,观察系统是否存在死锁、系统处理速度是否明显下降等其他的一些性能问题。

误区:

1.通过线程组计算并发数,如图所示,都认为每秒100并发,
在这里插入图片描述
然而查看结果树中,请求完成的时间并非是严格意义上的并发,而是一个接一个的去请求,并且在循环次数勾选永久的情况下,根本不是100的并发,而是jmeter在一秒之内能跑多少跑多少,比如此处设置了一秒100,设置循环永远的话,测试机器性能高可以一秒跑三千多样本。
在这里插入图片描述
网络上的公式之一:测试时间=(线程组/ramp时间)*循环次数;
然而在如下图设置的情况下,,预期是一秒一个,测试时间为3分钟,但是运行之后就会发现他就是用几秒钟给你跑完就结束了。这里推测:如果设置ramp-up时间是1秒,代表着一秒内必须启动,然而如果你的请求只用了0.1秒就完成了,下一个请求会在这个1秒内也启动
在这里插入图片描述

jmeter并发-集合点(同步定时器)

集合点概念:阻塞线程,直到指定的线程数量到达后,再一起释放,可以瞬间产生很大的压力。比如在调用一个页面时,创建的虚拟用户陆续的过来了,集合点这个作用就是聚集一下虚拟用户,到达设置好的数量之后,让他们一起请求。这些虚拟用户发送的请求是在同时发生的,不是一个接一个的。
在这里插入图片描述

集合点用法

在这里插入图片描述
Number of simulated users to group by:集合多少人再执行请求(也就是执行的线程数)
注意:等同于设置为线程数,一定要确保设置的值不大于它所在线程组包含的用户数

timeout in milliseconds:指定人数 多少秒没交集合到算超时(设置延迟时间以毫秒为单位)
注意:如果设置timeout in milliseconds为0,表示无超时时间,会一直等下去。
线程数量无法达到"Number of Simultaneous Users to Group by"中设置的值,那么Test将无限等待,除非手动终止。

如果希望定时器仅用于其中一个sampler,则把该定时器作为子节点加入
定时器仅仅对HTTP请求1起作用,即仅在HTTP请求1执行前执行定时器,与HTTP2请求无关
在这里插入图片描述

timer是在请求之前执行的。不管这个定时器的位置放在sampler之后还是之前。当然,如果多个timer的时候,在相同的作用域下会按上下顺序执行timer,这个就需要慎重放置timer的顺序

进行必要设置后,运行查看结果,通过结果树可以看到,请求是批量执行的,可以观察开始执行的脚本,观察请求的增加数量趋势,或对比请求的发送时间

吞吐量定时器(待补充)

Constant Throughput Timer常数吞吐量定时器可以让JMeter以指定数字的吞吐量(即指定TPS,只是这里要求指定每分钟的执行数,而不是每秒)执行。吞吐量计算的范围可以为指定为当前线程、当前线程组、所有线程组,并且计算吞吐量的依据可以是最近一次线程的执行时延。

  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值