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. 【译】使用 Visual Studio 调试外部源代码

    您是否曾经需要调试并进入依赖于 NuGet 或 .NET 库的代码,而这些库并没有构建为您的解决方案的一部分? 现在,调试它们并不像调试作为解决方案一部分的项目那么容易.从 Visual Studio ...

  2. 开启ipv6支持

    CentOS6 开启ipv6模块操作在/etc/sysconfig/modules  目录下创建一个脚本,比如叫做 ipv6.modules,脚本中内容如下:#!/bin/shif [ ! -c /p ...

  3. layUI中layDate控件兼容性问题(手机端没有效果,不显示)

    使用layDate插件发现在PC端无问题,然而在适配移动端时,发现点击input时,laydate渲染出的时间控件有时候没有反应,后发现只需在render里加入trigger: 'click',即可以 ...

  4. C++代码优化之nim_duilib控件关联

    前言 使用nim_duilib关联控件,优化后.的确减少了代码量,那么,执行效率呢? 时间执行的长短与硬件.软件有关,以下内容仅为参考. 测试代码 下面的代码,分为两部分, 循环使用for,非循环则直 ...

  5. 【LeetCode】469. Convex Polygon 解题报告(C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 计算向量夹角 日期 题目地址:https://leet ...

  6. 【LeetCode】31. Next Permutation 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 逆序数字交换再翻转 库函数 日期 题目地址:http ...

  7. 1742 开心的小Q

    如果一个数字存在一个约数是完全平方数,那么小Q就认为这个数是有趣的. 小Q喜欢收集有趣的数字,每找到一个有趣的数,小Q就会变得很开心. 小Q发现12是有趣的,18也是有趣的,它们都是36的约数,而在3 ...

  8. 第九届河南理工大学算法程序设计大赛 正式赛L:最优规划(最小生成树)

    单测试点时限: 1.0 秒 内存限制: 512 MB 有很多城市之间已经建立了路径,但是有些城市之间没有路径联通.为了联通所有的城市,现在需要添加一些路径,为了节约,需要满足添加总路径是最短的. 输入 ...

  9. 高并发 IO 模型

    五种IO模型包括:阻塞IO.非阻塞IO.IO多路复用.信号驱动IO.异步IO. 阻塞IO模型: 不管是网络IO还是磁盘IO,对于读操作而言,都是等到网络的某个数据分组到达后/数据准备好后,将数据拷贝到 ...

  10. Noise

    目录 motivation settings results motivation 提高网络的一个有用的技巧就是增加训练数据: 真实数据, 或者用GAN拟合的数据. 这里想要研究的是, 噪声是否能够算 ...