在做性能测试时需要根据性能需求配置不同的压测模式,如:阶梯模式。使用jmeter时我们需要安装插件来配置测试模式,RunnerGo内嵌了压测模式这一选项更方便使用,今天来看看RunnerGo的几种压测模式和怎么根据性能需求选择合适的压测模式。
 
RunnerGo提供了五种压测模式选择:并发模式、阶梯模式、错误率模式、响应时间模式、每秒应答数模式

一、并发模式

可根据并发数设置按时间运行或按轮次运行,通过并发模式可以用来验证应用服务在固定并发数下的性能表现。比如,设计高流量交易系统或大规模并发用户系统时需要使用这种测试。

二、阶梯模式

可以设置起始并发数然后根据步长以及最大并发数,测试应用服务在各阶段的性能表现。当到达最大并发后,则继续运行稳定持续时长所设置的时长运行后结束该计划。阶梯模式测试可以帮助确定应用程序的性能能力,了解响应时间、吞吐量和负载的关系,从而调整系统参数和资源配置,以达到最优性能。这种测试通常适用于一些对实时性能有严格要求的系统,如金融交易、零售管理和在线游戏等。
举例: 如下图所示,当起始并发为20;并发数步长:30;步长持续时长:100秒;最大并发数:100;持续时长50秒。 则该配置运行逻辑为:20并发运行100秒,然后20+30=50并发,再运行100秒,然后50+30=80并发,再运行100秒,然后80+30=110并发,由于110并发超过了最大并发100,最后运行持续时长50秒; 一共运行了350秒(理论值)。

三、错误率模式

错误率模式会统计接口的错误率。如果场景中某一接口超过设置的错误率阈值,则计划自动停止;如到达最大并发数后,错误率仍没有超过错误率阈值,则继续运行稳定持续时长所设置的时长运行后结束该计划。错误率模式测试通常适用于一些对系统可靠性要求较高的应用场景,如金融交易、医疗健康和航空航天等。
如下图所示:在场景中的任务配置里选择错误率模式后,需要在具体的一个或多个接口块中选择错误率模式,并填写错误率阈值(错误率阈值为小数)。如填写的错误率阈值为0.001,则表示该接口错误率若大于或等于0.1%,那么该任务就会停止。 如果多个接口都设置了错误率模式,那么只要一个接口符合上述规则,则该任务会立即停止。

四、响应时间模式

根据场景中的所有接口响应时间为准,每个接口的响应时间均与设定的阈值进行对比。如果其中有一个接口达到大于设定的阈值后则并发数不再增加,并运行稳定持续时长所设置的时长运行后结束该计划;如果到达最大并发数后仍未达到设定的阈值,则继续运行稳定持续时长所设置的时长运行后结束该计划。响应时间模式测试通常适用于一些对系统速度和用户体验有严格要求的应用场景,如在线游戏、电子商务和视频流媒体等。
如下图所示:在场景中的任务配置里选择响应时间模式后,需要在具体的一个或多个接口块中选择响应时间模式,然后选择对应的响应时间节点50、90、95、100线或者101(平均响应时间),也可以自定义响应时间线。然后填写响应时间阈值。如下图我们选择了90响应时间线,阈值为1000ms(1秒),那么执行该计划后,如果该接口95%响应时间线大于所设置的阈值,那么则会立即停止该任务,如果没有设置或者未超过阈值,则继续按照任务配置运行。

五、每秒应答数模式

每秒钟发送并响应的接口数量(RPS)。计算方式:RPS=接口的总请求数*接口的并发数/响应总耗时,约等于:接口的并发数/平均响应时间(s)。RPS大于所设阈值时,并发数会增加到最大并发数,小于阈值时,会根据设置逐渐增加。每秒应答数模式测试通常适用于一些需要处理大量数据的应用场景,如数据处理、日志分析和流媒体处理等领域。
如下图所示:在场景中的任务配置里选择每秒应答数模式后,需要在具体的一个或多个接口块中选择每秒应答数模式,然后填写应答数阈值。如果该计划执行后,该接口的RPS(每秒应答数)大于所设阈值,那么并发数会直接增加到最大并发数:300,然后运行持续时长:300秒;如果多个接口设置了每秒应答数模式及阈值,那么已经设置的所有接口RPS都达到或超过阈值后,并发数会直接增加到最大并发数:300,然后运行持续时长:300秒。
 

压测模式该怎么选?RunnerGo五大压测模式详解的更多相关文章

  1. CAS (6) —— Nginx代理模式下浏览器访问CAS服务器网络顺序图详解

    CAS (6) -- Nginx代理模式下浏览器访问CAS服务器网络顺序图详解 tomcat版本: tomcat-8.0.29 jdk版本: jdk1.8.0_65 nginx版本: nginx-1. ...

  2. java线程的五大状态,阻塞状态详解

    一.状态简介 一个线程的生命周期里有五大状态,分别是: 新生 就绪 运行 死亡 运行后可能遇到的阻塞状态 二.相关方法 2.1 新生状态 Thread t = new Thread(); 正如我们前面 ...

  3. Linux单用户模式(修改密码、运行级别)方法详解

    很多新手当面对"忘记 root 账户密码导致无法登陆系统"这个问题时,直接选择重新系统.其实大可不必,我只需要进入 emergency mode(单用户模式)更新 root 账户的 ...

  4. Oracle架构实现原理、含五大进程解析(图文详解)

    目录 目录 前言 Oracle RDBMS架构图 内存结构 系统全局区SGA 高速缓存缓冲区数据库缓冲区 日志缓冲区 共享池 其他结构 进程结构 用户连接进程 用户进程User Process Ser ...

  5. 浏览器加载模式:window.onload和$(document).ready()的区别(详解)

    jQuery库文件是在body元素之前加载的,必须等待所有的DOM元素加载后,延迟支持DOM操作,否则就无法获取到. 在延迟等待加载,JavaScript提供了一个事件为load,方法如下: wind ...

  6. 1.JVM中的五大内存区域划分详解及快速扫盲

    本博客参考<深入理解Java虚拟机>这本书 视频及电子书详见:https://shimo.im/docs/HP6qqHx38xCJwcv9/ 一.快速扫盲 1. JVM是什么   JVM是 ...

  7. Jmeter(四十七) - 从入门到精通高级篇 - 分布式压测部署之负载机的设置(详解教程)

    1.简介 千呼万唤始出来,这一篇感觉写了好久,总想写的清楚明白简洁,但是还是洋洋洒洒写了好多,希望大家喜欢吧!本来打算将这一篇文章是放在性能测试中讲解和分享的,但是有的童鞋或者小伙伴们私下问的太多了, ...

  8. ListView多选操作模式详解CHOICE_MODE_MULTIPLE与CHOICE_MODE_MULTIPLE_MODAL

    这篇文章我们将详细的介绍如何实现ListView的多选操作,文中将会纠正在使用ListViewCHOICE_MODE_MULTIPLE或者CHOICE_MODE_MULTIPLE_MODAL时容易犯的 ...

  9. Java经典设计模式之五大创建型模式

    转载: Java经典设计模式之五大创建型模式 一.概况 总体来说设计模式分为三大类: (1)创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. (2)结构型模式,共七种: ...

  10. Java经典设计模式之五大创建型模式(附实例和详解)

    一.概况 总体来说设计模式分为三大类: (1)创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. (2)结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥 ...

随机推荐

  1. [转帖]ORACLE恢复神器之ODU/AUL/DUL

    https://www.cnblogs.com/oracle-dba/p/3873870.html 分享ORACLE数据库恢复神器之ODU.DUL和AUL工具. ODU:ORACLE DATABASE ...

  2. [转帖]jmeter正则表达式提取器获取数组数据-02篇

    接上篇,当我们正则表达式匹配到多个值以后,入下图所示,匹配到21个结果,如果我们想一次拿到这一组数据怎么办呢 打开正则表达式提取器页面,匹配数字填入-1即可 通过调试取样器就可以看到匹配到已经匹配到多 ...

  3. 【转帖】再谈TCP/IP三步握手&四步挥手原理及衍生问题—长文解剖IP

    https://www.zhoulujun.cn/html/theory/ComputerScienceTechnology/network/2015_0708_65.html 长文是对TCP IP的 ...

  4. [转帖]Linux小知识:sudo su和su的区别

    https://www.cnblogs.com/jiading/p/11717388.html su是申请切换root用户,需要申请root用户密码.有些Linux发行版,例如ubuntu,默认没有设 ...

  5. Oracle 修改参数

    alter system set sga_max_size=30720M scope=spfile; alter system set sga_target=30720M; alter system ...

  6. 【小实验】javascript 能够表述的最大整数

    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 打开浏览器的控制台,开始输入数值: 输入:(16 位十进制 ...

  7. 【小测试】golang中数组边界检查的开销大约是1.87%~3.12%

    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 对比C/C++, golang等类型安全的语言会在数组访问 ...

  8. 给python脚本传递命令行参数

    记录一下给python脚本传参数的几种方式 最简单的方式 在cmd/bat脚本中调用python脚本传递参数 #传递参数 python test.py arg1 arg2 arg3 #在python中 ...

  9. iphone(ios)不同设备的内存和游戏不闪退峰值

    ios内存限制 不同内存的苹果机型上(1G,2G,3G,4G-),游戏内存的峰值一般最高多少能保证不闪退? 一般来讲最保险的就是不超过机器总内存的50%,具体每个机型的内存限制在列出在下面. 原贴:& ...

  10. Markdown常用书写语法合集

    1. 文字设置 1.1 文字颜色 中常用的文字颜色有: 红色文字:<font color="red">红色文字</font> 浅红色文字:<font ...