一.前言

在做性能测试的时候,在某些场景下需要逐渐加压,不总是停下来再修改线程再加压,且可以对比加压,找出服务的性能拐点。

二.三种逐渐加压方式

备注:普通的压测方式,并发的Samples是可预知的;而阶梯压测是未知的。
1.Stepping Thread Group
比较老,适用于复杂场景线程组(单线程组)
下载工具(JMeterPlugins-Standard.jar)
链接:https://pan.baidu.com/s/1xj0mrK4k11MjPawHSbbsuQ
提取码:e1cx
使用方法:将JMeterPlugins-Standard.jar包放在jmeter安装目录的\lib\ext路径下,重新启动jemter即可


This group will start N threads:设置线程组启动的线程总数为N个;
First,wait for N seconds:启动第一个线程之前,需要等待N秒;
Then start N threads:设置最开始时启动N个线程;Z
Next,add X threads every Y seconds,using ramXp-up Z seconds:每隔Y秒,启动X个线程,在Z秒内启动X个线程;
Then hold load for N seconds:启动的线程总数达到最大值之后,再持续运行N秒;
Finally,stop X threads every Y seconds:每Y秒停止X个线程;

2.Concurrency Thread Group
下载工具(jmeter-plugins-manager-1.3.jar)
链接:https://pan.baidu.com/s/1qoX2FiWdHaldO1Fvd_RvZA
提取码:206s
使用方法:下载Plugins Manager JAR文件并将其放入JMeter的lib / ext目录中。然后启动JMeter并转到“选项”菜单以访问插件管理器。

在插件中安装Concurrency Thread Group:

注意:这里只需要等待安装就行了,可能要需要2-3分钟,安装好后jmeter会自动重启的


Target Concurrency: 100 预期客户端最大并发线程数为100
Ramp Up Time(min): 0.5 在30秒内启动100个线程
Ramp-up Steps Count: 20 在上述时间内,分20次启动
Hold Target Rate Time (min): 0.5达到目标并发线程数300后,再并发运行30秒
Thread Iterations Limit:线程迭代次数限制,即循环次数(空,即为一次)(无特殊情况,建议不设置该选项的值)
Log Threads Status into File:将线程状态记录到文件中(保存日志文件)

3.Ultimate Thread Group


参数含义解释:
Start Threads Count:当前行启动的线程总数
Initial Delay/sec:延时启动当前行的线程,单位:秒
Startup Time/sec:启动当前行所有线程达峰值所需时间,单位:秒
Hold Load For/sec:当前行线程达到峰值后的稳定加载时间,单位:秒
Shutdown Time:停止当前行所有线程所需时间,单位:秒

上图含义:
第一个线程:没有延时,在10秒内启动100个线程数,到达100个后稳定运行60秒后,在再10秒内结束100个线程数。第二、第三线程同理。
根据以上描述可以计算两个阶段的拐点值。

jmeter三种阶梯式加压的更多相关文章

  1. Jmeter(三十六) - 从入门到精通进阶篇 - 设置负载阶梯式压测场景(详解教程)

    1.简介 在性能测试中,有时需要模拟一种实际生产中经常出现的情况,即:从某个值开始不断增加压力,直至达到某个值,然后持续运行一段时间,然后继续加压达到某个值持续运行,如此循环直到达到预期的峰值,运行一 ...

  2. 【Jmeter基础知识】Jmeter的三种参数化方式

    JMeter的三种参数化方式包括: 1.用户参数 2.函数助手 3.CSV Data Set Config 一.用户参数 位置:添加-前置处理器-用户参数 操作:可添加多个变量或者参数 二.函数助手 ...

  3. JMeter接口响应数据出现乱码的三种解决方法

    第一种方法: Content encoding设置为utf-8,若仍为乱码,请用方法2 图1 第二种方法: 修改bin文件夹下的jmeter.properties文件 搜索ISO,把“#sampler ...

  4. Jmeter接口测试常见的乱码问题三种解决方法

    使用Jmeter时经常遇到中文乱码问题,下面总结三种常用的解决方式. 1. 2.在Jmeter安装文件bin中找到jmeter.properties,打开jmeter.properties,搜索“IS ...

  5. 使用jmeter发送put请求的三种方式

    之前在前公司使用jmeter调试接口时,由于都是get和post请求,所以一直是顺风顺水的,毫无阻拦在短时间内调试完所有接口. 但是呢,在换到新公司后,发现接口请求是多式多样的,get.post必须有 ...

  6. jmeter的三种参数化方法

    JMeter的三种参数化方式包括: 1.用户参数 2.函数助手 3.CSV Data Set Config 一.用户参数 位置:添加-前置处理器-用户参数 操作:可添加多个变量或者参数 二.函数助手 ...

  7. JMeter 阶梯式加压测试插件 Concurrency Thread Group

    jmeter阶梯式加压测试:JMeter 阶梯式加压测试插件 Stepping Thread Group 由于Stepping Thread Group插件相对来说过于老旧,已不被官方所推荐. 所以这 ...

  8. RFID标签天线的三种制作方法

    在RFID标签中,天线层是主要的功能层,其目标是传输最大的能量进出标签芯片.RFID天线是按照射频识别所要求的功能而设计的电子线路,将导电银浆或导电碳浆网印在PVC.PC或PET上,再与面层.保护层和 ...

  9. Nand flash 三种类型SLC,MLC,TLC【转】

    转自:https://blog.csdn.net/fc34235/article/details/79584758 转载自:http://diy.pconline.com.cn/750/7501340 ...

随机推荐

  1. Python 函数对象的本质

    Python 函数对象本质上是 function 类的实例. 1 从示例说起 def factorial(n): '''return n!''' return 1 if n < 2 else n ...

  2. Swift3.0学习之基础部分

    1.常量和变量 常量和变量把一个名字(比如 maximumNumberOfLoginAttempts 或者 welcomeMessage )和一个指定类型的值(比如数字 10 或者字符串 " ...

  3. ASP.NET Core 3.1使用log4net/nlog/Serilog记录日志

    Serilog中的结构化日志支持非常好,而且配置简便.我能够比其他任何人更轻松地启动和运行Seirlog.Serilog中的日志可以发送到很多目的地.Serilog称这些东西为"接收器&qu ...

  4. 【磁盘/文件系统】第五篇:CentOS7.x__btrfs文件系统详解

    前言: Btrfs文件系统是CentOS7.x系列系统上的技术预览版,但是现在还是有公司在使用. btrfs 文件系统(又称B-tree.Butter FS.Better FS等文件系统)   理解b ...

  5. python初学者-从键盘获取信息

    name = input(">>> 姓名:") QQ = input(">>>QQ: ") phone_num = inpu ...

  6. mysql-font1251错误

    控制台中先连接mysql: ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; ALTER US ...

  7. UNION An Unreferenced Metric for Evaluating Open-ended Story Generation精读

    UNION An Unreferenced Metric for Evaluating Open-ended Story Generation精读 UNION: 一种评估开放故事生成无参考文本依赖me ...

  8. Hbase-cdh5.14.2与kylin集成异常

    1.原先使用版本:apache-kylin-2.5.1-bin-hbase1x 原生版本 启动报错出现异常: Failed to find metadata store by url: kylin_m ...

  9. 用C#实现模拟双色球中奖程序 控制台应用程序

    前言 这是我在大一第一学期C#的课程设计,要求编写一个模拟双色球彩票的控制台应用程序,用以实现简单的模拟选购彩票. 一.双色球购号号码生成: 1.系统购号:通过"随机数"产生双色球 ...

  10. 设计模式之委派模式(Delegate Pattern)深入浅出

    学习目标:精简程序逻辑,提升代码的可读性. 内容定位:希望通过对委派模式的学习,让自己写出更加优雅的代码的人群. 委派模式定义: 委派模式(Delegate Pattern)的基本作用是负责任务的调度 ...