Jmeter做并发测试(设置集合点)

集合点:让所有请求在不满足条件的时候处于等待状态。

如:我集合点设置为50,那么不满足50个请求的时候,这些请求都会集合在一起,处于等待状态,当达到50的时候,就一起执行。从而达到并发的效果。

那么Jmeter中可以通过同步定时器 Synchronizing Timer 来完成。

Number  of Simulated Users to Group by:按组分组的模拟用户数。

timeout in milliseconds:Timout的意思是等待请求多久后,不管线程数有没有到达设置的并发数量都开始运行测试。

注:同步定时器要在请求之前设置。

场景一:线程数设置为6,集合点为3,超时为0,点击运行。

可以看到有6个结果,此处分成了2组进行并发,每次是3个用户。

场景二:线程数设置3,集合点设置为4,超时为0,点击运行。

发现没有执行请求,需要手动stop。原因:不够并发数且超时为0

场景三:线程数设置6,集合点设置为4,超时为0,点击运行。

发现只有4个请求,然后一直都没有停止,需要手动stop。原因:第一组够集合点,一起并发,第二组只有2个,不够集合点。

场景四:线程数设置6,集合点设置为6,超时为0,点击运行。

可以看到有6个请求。分1组执行。

场景五:线程数设置6,集合点设置为4,超时为5000,点击运行。

分2组,发现先有4个请求,为第一组,5秒后,出现后2个请求,为第二组,共6个。

结论:

Timeout in milliseconds: 如果设置为0,Timer将会等待线程数达到了"Number of Simultaneous Users to Group"中设置的值才释放。也就是说,如果线程数不足集合点中设置的数,就会一直等待,需要手动stop。

如果大于0,那么如果超过Timeout in milliseconds中设置的最大等待时间(毫秒为单位)后还没达到"Number of Simultaneous Users to Group"中设置的值,Timer将不再等待,释放已到达的线程。也就是说如果线程数不满足集合点中设置的值,则在timeout中设置的时间后继续执行不足的那些线程。

Timeout in milliseconds默认为0。所以当timeout设置为0,但是线程数又不满足集合点中设置的值时,就会一直等待,不执行请求,需要手动stop。

同步定时器是在每一个采集器之前执行的,不管定时器的位置是在采集器之前还是之后,都是在采集器之前执行。

如果一个线程中存在多个采集器,同步定时器和这些采集器在同一级(同一节点下),则同时作用于这些采集器。

如果需要一个定时器单独对应某一个采集器,可以在采集器的子节点中创建定时器。
---------------------
作者:有一种人仅仅是认识就很好了
来源:CSDN
原文:https://blog.csdn.net/qq_36350532/article/details/80622349
版权声明:本文为博主原创文章,转载请附上博文链接!

原文地址:https://www.cnblogs.com/insane-Mr-Li/p/10684190.html

时间: 2024-11-09 00:22:53

Jmeter做并发测试(设置集合点)的相关文章

如何用Jmeter做压力测试 --- 转

Jmeter是一个性能测试工具,同loadrunner类似,他功能较多,我们常用的功能是用jmeter模拟多浏览器对网站做压力测试.    下载jmeter地址 :http://jakarta.apache.org/我们一般的网站,在进入业务功能前先需登录,然后才能访问业务功能.下面介绍如何用jmeter登录系统再对主业务做压力测试.1 运行jmeter    2 左边树将出现测试计划.工作台两根节点.3 选择测试计划,按右键->添加->threads(users)线程组    线程组能设置以

Jmeter之仿真高并发测试(集合点)

场景: 大家在使用Jmeter测试的时候应该发现了, (1)线程启动了就会直接发送测试请求:--如果要模拟在一瞬间高并发量测试的时候,需要调高线程数量,这很耗测试机器的性能,往往无法支持较大的并发数,无法控制每次测试的瞬间并发量: (2)如果使用了constant throughput timer,可以模拟较长时间的并发测试,但是仍无法满足稳定的瞬间高并发测试: 解决: 1.使用集合点: 作用:阻塞线程,直到指定的线程数量到达后,再一起释放,可以瞬间产生很大的压力. 引用虫师的话"红军排长说:等

(转)学习使用Jmeter做压力测试(三)--数据库测试

数据库测试 JMeter可以做为Web服务器与浏览器之间的代理网关,以捕获浏览器的请求和Web服务器的响应,这样就可很容易的生成性能测试脚本. 根据脚本,JMeter可通过线程组来模拟真实用户对Web服务器做压力测试.本文描述使用JMeter进行数据库测试的过程.创建测试计划,模拟 并发用户发送SQL请求到数据库.测试数据库. 性能测试的目标是找到系统的性能瓶颈.本文将通过构造测试场景,完成对数据库的测试. 场景: 1.单用户: a.SQL语句优化:    b.数据库约束检查:   c.分页查询

【转】学习使用Jmeter做压力测试(三)--数据库测试

JMeter可以做为Web服务器与浏览器之间的代理网关,以捕获浏览器的请求和Web服务器的响应,这样就可很容易的生成性能测试脚本.根据脚本,JMeter可通过线程组来模拟真实用户对Web服务器做压力测试.本文描述使用JMeter进行数据库测试的过程.创建测试计划,模拟并发用户发送SQL请求到数据库.测试数据库. 性能测试的目标是找到系统的性能瓶颈.本文将通过构造测试场景,完成对数据库的测试. 场景: 1.单用户: a.SQL语句优化:    b.数据库约束检查:   c.分页查询: 2.并发用户

Jmeter做压力测试的心得

什么是性能压测? 也是最近刚刚接触到,就是被测试的系统,在一定的访问压力下,看程序运行是否稳定/服务器运行是否稳定,通常情况,是模拟多个请求同时 请求服务器,也就是在某个时间内,比如说1秒内,调用接口达到200次,结果就是接口调用成功率.最大请求花费时间.最小请求花费时间还有一些性能参数,做性能压测目前来讲大多数来说都是借助 工具软件来完成的,真正去写一套脚本来完成性能压测的步骤已经很少很少了,所以我们接下来讲的就是比较常用的工具-Jme 前期准备!!! 首先,你要去官方那里下载Jmeter的压

【转】使用Jmeter多台agent做并发测试

在使用Jmeter进行接口的性能测试时,由于Jmeter 是JAVA应用,对于CPU和内存的消耗比较大,所以,当需要模拟数以万计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至会引起JAVA内存溢出错误.为了让jmeter工具提供更大的负载能力,这时可以使用Jmeter提供的分布式功能来启动多台电脑来分压测试. 一.Jmeter分布式执行原理: 1.Jmeter分布式测试时,选择其中一台作为控制机(Controller),其它机器做为代理机(Agent). 2.执行时,Contr

学习使用Jmeter做压力测试(一)--压力测试基本概念

一.性能测试的概念 性能测试是通过自动化的测试工具模拟多种正常峰值及异常负载条件来对系统的各项性能指标进行测试.负载测试和压力测试都属于性能测试,两者可以结合进行. 通过负载测试,确定在各种工作负载下系统的性能,目标是当负载逐渐增加时,测试系统各项性能指标的变化情况.压力测试时通过确定一个系统的瓶颈或者不能接受的 性能点,来获取系统能提供的最大服务级别的测试.性能测试主要包括负载测试.强度测试.容量测试. 二.性能测试的指标 web服务器: Avg Rps: 平均每秒的响应次数 = 总请求数 /

Jmeter压力并发测试

二.点击Download Releases选择版本下载 三.下载解压: 将解压后的文档存盘-下载logkit-2.0.jar(汉化包)放到jmeter目录D:\apache-jmeter-4.0\lib  -配置系统变量 JMETER_HOME   例:D:\apache-jmeter-4.0 D:\apache-jmeter-4.0\lib\ext\ApacheJMeter_core.jar %JMETER_HOME%\lib\jorphan.jar %JMETER_HOME%\lib\log

Jmeter运营活动并发测试—巧用集合点

在运营活动测试过程中,经常需要对秒杀活动或定时抽奖活动进行并发测试.那么怎样快速便捷的模拟多用户同时参与活动,抽取奖品,进行并发测试呢?尤其是,当奖品总数N<用户总数M时,代码是否会存在奖品多发给用户,导致奖品剩余总数出现负数的严重bug? 下面介绍使用轻量级开源测试工具Jmeter进行并发测试的方法--巧用集合点. 以总产品数为3,模拟多用户(5个用户)同时进行抽奖并发测试为例,进行介绍.         思路:首先在运营后台配置产品总数为3,其次模拟多用户登陆,最后通过设置集合点的方式,模拟