转载自:https://blog.csdn.net/wangyanhong123456/article/details/123046451

线程组:用于模拟。

线程属性包含了:线程数、Ramp-Up时间(秒)、循环次数。

我整理了下线程属性的定义,如图:

难点在于如何确定一个合适的Ramp-Up时间(秒)。接下来讲解:

线程数:n

Ramp-Up时间:T

循环次数:a(循环次数a只是为了延长单个线程的运行时间,从而保证当最后一个线程启动时,所有线程都在运行中,从而达到压测效果)

若每个循环运行时间:t

理论上:

1)当时间到S=(T-T/n)时,最后一个线程启动,若要使所有线程同时运行,则需要在最后一个线程启动的时候第一个线程仍未关闭,为达到这个需求,需a*t>S及a>S/t

2)每个线程运行时间:R=a*t(此处的a是大于S/t的某一个值),则第一个线程在时间点R的时候停止。

3)整个测试理论运行时间:S+R=(1-1/n)*T+a*t

实际运用中,如果根据理论知识来确定Ramp-Up时间?

先在jmeter中假设n(线程数)、T(Ramp-Up时间)的值,a(循环次数)暂定为1,运行脚本后,查看聚合报告中平均响应时间是多少,也就是t(每个循环运行时间)的值,然后根据公式( S = (T- T/n) )计算出S(最后一个线程第S秒启动)

由于需要在最后一个线程启动的时候第一个线程仍未关闭,则需要满足 a·t > S,由此得出a的取值范围。

然后在a的取值范围中选择边界值,然后计算出单个线程运行时间R,然后根据公式(S + R = (1-1/n)·T + a·t)得出S+R的值,也就是整个测试理论运行时间。

下面我直接截了原作者该文章的图,懒得画图了o(╥﹏╥)o

【转载】JMeter如何确定ramp-up时间的更多相关文章

  1. [转载]Jmeter那点事·ForEach和If控制器

    如果我们要实现一个循环,如果城市是北京,则返回首都:否则,返回城市.   一.新建用户自定义变量 添加-配置元件-用户自定义变量, 定义变量注意命名格式:变量名 加 下划线 加 数字(从1开始计数) ...

  2. Jmeter性能测试之添加思考时间

    利用定时器添加用户思考时间 JMeter如何插入思考时间,在一个真实的性能测试场景中,是需要加入思考时间,来模拟真实用户行为.本文就来介绍,如何在三个请求之间添加思考时间. 1. 在Test Plan ...

  3. [转载] jmeter Bean Shell的使用

    Jmeter有哪些Bean Shell 定时器: BeanShell Timer 前置处理器:BeanShell PreProcessor 采样器: BeanShell Sampler 后置处理器:B ...

  4. [转载]C / C++ 计算程序运行的时间

    原文链接:https://blog.csdn.net/qq_36667170/article/details/79507547 在学数据结构过程中老师让查看不同算法的运行时间,然后让自己打印运行时间. ...

  5. [转载]Python & Selenium -- 页面加载时间过长&启动指定FF

    原文链接:https://my.oschina.net/u/2344787/blog/400507?p={{page}} 1. selenium webdriver在get方法会一直等待页面加载完毕才 ...

  6. 【转载】解决Windows和Ubuntu时间不一致的问题

    大家在切换操作系统的时候会发现一个问题, Windows 和Ubuntu的时间会出现不一致的情况.在 Windows 中把时间设置正确了过后,回到在 Ubuntu 后系统的时间又不一样了,在 Ubun ...

  7. 【转载】vue.js实现格式化时间并每秒更新显示功能示例

    引用:https://www.jb51.net/article/143351.htm 这篇文章主要介绍了vue.js实现格式化时间并每秒更新显示功能,结合实例形式分析了vue.js时间格式化显示与基于 ...

  8. 【转载】关于SimpleDateFormat安全的时间格式化线程安全问题

    想必大家对SimpleDateFormat并不陌生.SimpleDateFormat 是 Java 中一个非常常用的类,该类用来对日期字符串进行解析和格式化输出,但如果使用不小心会导致非常微妙和难以调 ...

  9. 转载: Linux查看系统开机时间

    转自: https://www.cnblogs.com/kerrycode/p/3759395.html 查看Linux系统运行了多久时间,此时需要知道上次开机启动时间: 有时候由于断电或供电故障突然 ...

  10. (转载)Manacher'sAlgorithm: O(n)时间求字符串的最长回文子串

    以下内容转载自:传送门 源于这两篇文章: http://blog.csdn.net/ggggiqnypgjg/article/details/6645824http://zhuhongcheng.wo ...

随机推荐

  1. oracle 存储过程-动态行转列,解决。

    包头 create or replace package pro_test as TYPE out_cursor IS REF CURSOR; procedure Alarm_ContentsByTi ...

  2. Docker--结合 Jenkins + Gitlab 完成自动化测试的持续集成实战

    本文转自:https://www.cnblogs.com/poloyy/p/13971134.html 进入 Jenkins 任务的配置页面 源码管理 构建触发器 为了安全起见生成一个 token 值 ...

  3. Python面向对象编程——__init()__方法

    隐式基类object 每个python类都隐式继承object 全文代码实例实现:枚举扑克牌的花色和牌面值 一._init()__方法:对象初始化 显示而非隐式:__init()__应显示展示初始化变 ...

  4. 【JavaScript】JS写法随笔(二) JS动态生成表格

    主要思路:通过Ajax请求后端接口并拿到结果list之后,然后通过DOM获取tbody并向tbody中添加行.单元格. $("#calculate").click(function ...

  5. C和C++内存分配语法补充

    NOTE: 动态内存分配:需要加载头文件<stdlib.h>malloc(m):开辟m字节长度的地址空间,并返回首地址sizeof(x):计算变量x的长度free(p):释放指针p所指的存 ...

  6. APPscan设置自动扫描时间

    一.设置位置 1.在设置自动扫描时间之前,我们要先创建扫描配置,然后再启动设置面板.2.启动AppScan,单击展开软件顶部菜单栏[工具]按钮,单击下拉菜单内[扫描调度程序],便可启动自动扫描的设置面 ...

  7. Leetcode209

    209. Minimum Size Subarray Sum         i , s , l = 0, 0, 0         for j in range(len(nums)):        ...

  8. 解决 vue init webpack 报错问题 报错原因是因为不能执行脚本文件。

    解决方案: 运行下面一行代码: set-ExecutionPolicy RemoteSigned 

  9. ES6知识点总结

    声明变量      let 不能重复声明 块级作用域 可修改let变量的值 , const 不能重复声明 块级作用域 不能修改const 变量的值 2. 箭头函数 而箭头函数的this指向函数定义时所 ...

  10. Zookeeper分布式服务

    Zookeeper(CP) 以集群的方式[leader和follower]为分布式应用提供协调服务.负责存储和管理大家都关系的数据,接受观察者注册.消息分发等服务 特点: 只要有半数以上的节点存活就能 ...