1. 关于线程组参数

线程组:即一个线程组实例里面包括多个串行的请求或动作。一个线程组的从启动到结束的时间取决于你线程中的步骤数量。

线程数:即用户数,在Ramp-up时间内(包括循环),简单把线程数理解为并发数其实不是很准确,理解为同时在线用户数更好。

Ramp-up 时间:决定多长时间启动所有线程,例上图所示如线程数是10,Ramp-up为5秒,那么每秒启动2个线程请求发出去。

循环次数:如上图循环次数为2,那么问题来了,第二次循环是什么时候开始的呢。

先说结论,第二次循环基础在第一次启动时就跟着启动了。也就是说,上图的配置会在5秒内总共启动10*2个线程组实例。那么也就是说循环开始的时间几乎和第一次启动时间相同。

1.1. 实验

1.1.1. 实验准备

我们在Java后台的Controller定义一个测试方法,这个测试方法没用任何业务逻辑,理论上它基本不会消耗时间,接近0秒即可返回。

我们在这个后台定义一个全局静态内存变量,用于记录访问的次数N。

并在访问时打印出当前时间和次数数字。

1.1.2. 循环一次的实验

下面我们以只循环一次的配置实验,如下配置:

结论:当循环次数为1时,一共用时5秒,并且被平均化了,每2秒启动两个线程组实例。

1.1.3. 循环2次的配置

我们把Tomcat重启一下,让全局静态变量归0.然后试验循环2次的配置。

TPS为:4.4,平均每个请求时间为12毫秒。中位数是3毫秒。共启动20个线程组实例。

从上图可以看出从第一个线程组实例时间:2022-01-16 21:14:09:829至最后一个线程组实例2022-01-16 21:14:14:152共计用时:5秒钟,可以看到在5秒内JMeter也把第二次循环启动了。

结论:如果Ramp up 这个时间是前面第一次循环在在Ramp up时间之后才启动第二次循环的话,那么第11次请求到第20次请求它就不可能是前5秒这个时间段内出现。第11次开始必须都在2022-01-16 21:14:14:152之后启动才对,但实验的结果即不是如此。循环开始的时间几乎和第一次启动时间相同,也就是说10个线程5秒内启动,循环2次,就是等于第一个线程启动一次开始循环2次了。

所以Ramp up这个时间是表示启动所有线程实例数的时间。所以这个时间需要有一个合理的设计。并发数不能仅仅只是看线程数。

这个是和网上查询的多处资料说的一次,那么并发数到底怎么计算呢。如配置10并发如何配置呢?其实有很多种配置,如下图:

并发数=(线程数*循环次数)/ramp-Up

网上其他资料可参考1:https://blog.csdn.net/u013908944/article/details/97383303

网上其他资料可参考2:http://www.javashuo.com/article/p-dwqyfsqb-tk.html

2. 循环的意义

 
   

循环是为了让抽样更多,模拟客户端用户登录点击操作进行线程大量发起并持续性循环发起。线程组实例启动后它是需经过线程组内部的各个步骤请求来完成的,当组织线还没有走完,可能第二个又来了直第N个结束。那中间就会产生N个交集,以模拟达到并发数测试。

如下图所示:

关于Jmeter线程数Ramp-Up.循环次数的理解和实验数据的更多相关文章

  1. jmeter 线程数—请求数详解

    一个性能测试请求负载是基于一个线程组完成的.一个测试计划必须有一个线程组.测试计划添加线程组非常简单.在测试计划右键弹出下拉菜单(添加-->Threads(Users)--->线程组)中选 ...

  2. Jmeter线程组使用详解,持续加压线程组详解

    以下罗列的是Jmeter 所有线程组的详解,包括官方自带的线程组,和官方插件的线程组.官方线程组安装,详见之前的文章:https://www.cnblogs.com/beimingyouyuqingc ...

  3. 【转】关于JMeter线程组中线程数,Ramp-Up Period,循环次数之间的设置概念

    关于JMeter线程组中线程数,Ramp-Up Period,循环次数之间的设置概念 笔者是个刚刚踏入压力测试领域不到2个月的小菜,这里分享一下线程组中3个参数之间关系的个人见解,不喜请!喷!,望大家 ...

  4. 关于JMeter线程组中线程数,Ramp-Up Period,循环次数之间的设置概念

    关于JMeter线程组中线程数,Ramp-Up Period,循环次数之间的设置概念 笔者是个刚刚踏入压力测试领域不到2个月的小菜,这里分享一下线程组中3个参数之间关系的个人见解,不喜请!喷!,望大家 ...

  5. JMeter命令行方式运行时动态设置线程数及其他属性(动态传参)

    在使用JMeter进行性能测试时,以下情况经常出现: 1.测试过程中,指定运行的线程数.指定运行循环次数不断改变: 2.访问的目标地址发生改变,端口发生改变,需要改写脚本. 上面的问题在GUI中,直接 ...

  6. shell 外部传入jmeter脚本线程数,rampUp时间,持续运行时间

    jmeter参数化部分参考上一篇 shell参数说明:$1线程数,$2:全部并发数rampup时间,$3:脚本持续运行时间,$4:每次脚本循环持续时间 $5:所以循环持续时间 #!/bin/bash ...

  7. 3.jmeter jsr232 脚本获取当前测试的正在活动的线程数

    jsr232 groovy 脚本获取当前测试的正在活动的线程数 (需要选择 groovy类型, 如果使用beanshell或者javascript,请根据其语法稍作修改即可) import org.a ...

  8. jmeter的线程数,并发用户数,TPS,RPS 关系解说

    背景 在做性能测试的时候,传统方式都是用并发虚拟用户数来衡量系统的性能(站在客户端视角),一般适用于一些网页站点例如首页.H5的压测:而RPS(Requests per second)模式主要是为了方 ...

  9. 关于jmeter线程组和循环次数的设置

    初始设置:设置线程数 n = 80,循环次数a = 1,ramp-up period=5 一 计算最后一个线程的生成时间(last) 总共生成80个线程,总共需要5秒,每秒钟会启动16个线程,所以,第 ...

随机推荐

  1. [BUUCTF]REVERSE——rsa

    rsa 附件 题目是rsa,首先了解一下什么是rsa加密,具体的看这个文章 首先大概介绍下RSA加密解密 RSA加密是对明文的E次方后除以N后求余数的过程 公钥n = p * q,其中p和q是两个大素 ...

  2. MES目前应用很多,为什么APS计划排程系统应用很少?

    一.APS自动化计划排程能带来哪些效益? 1.提高订单准时交货率,提高客户满意度 2.缩短生产制造周期,提高生产效率 3.多品种.小批量.以销定产,快速解决插单.急单预测交期问题 4.减少物料采购提前 ...

  3. CF658A Bear and Reverse Radewoosh 题解

    Content 一场比赛有 \(n\) 道题目,其中第 \(i\) 道题目的分值为 \(p_i\),需要花费的时间为 \(t_i\).需要说明的是,\(t_i\) 越大,这道题目的难度越大.在第 \( ...

  4. CF1481B New Colony 题解

    Content \(n\) 座山排成一行,其中第 \(i\) 座山的高度为 \(h_i\). 有 \(k\) 个巨石依次从第一座山开始滚落.当某个巨石在第 \(i\) 座山时: 如果 \(i=n\), ...

  5. 初识requests

    Make a Request 一开始要导入 Requests 模块: >>> import requests 然后,尝试获取某个网页.本例子中,我们来获取 Github 的公共时间线 ...

  6. 利用struts2上传文件时,如果文件名中含有-符号,那么会出错

    利用struts2上传文件时,如果文件名中含有-符号,那么会出错 报错如下: HTTP Status 500 - C:\Program Files\Apache Software Foundation ...

  7. VC Mirror Driver显示虚拟驱动经典开发

    一个简单的显示驱动实例windows wdk 7600的 mirror(镜像) 显示驱动部分基本流程:Windows 2000 DDK包含了一个例子镜像驱动程序,在 上面3个目录中包括了组件源文件.目 ...

  8. AcWing 1204. 错误票据

    题目: 某涉密单位下发了某种票据,并要在年终全部收回. 每张票据有唯一的ID号. 全年所有票据的ID号是连续的,但ID的开始数码是随机选定的. 因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成 ...

  9. LeetCode Top 100 Liked 点赞最高的 100 道算法题

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 公众号:负雪明烛 本文关键词:刷题顺序,刷题路径,好题,top100,怎么刷题,Leet ...

  10. 【LeetCode】165. Compare Version Numbers 解题报告(Python)

    [LeetCode]165. Compare Version Numbers 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博 ...