在做性能测试时需要根据性能需求配置不同的压测模式,如:阶梯模式。使用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中有大量的sniped会话

    https://www.cnblogs.com/abclife/p/15699959.html 1 2 3 4 5 6 7 SQL> select status ,count(*) from g ...

  2. [转帖]INSERT IGNORE INTO 与 INSERT INTO

    INSERT IGNORE INTO 会忽略数据库中已经存在 的数据,如果数据库没有数据,就插入新的数据,如果有数据的话就跳过当前插入的这条数据.这样就可以保留数据库中已经存在数据,达到在间隙中插入数 ...

  3. [转帖]使用 Dumpling 和 TiDB Lightning 备份与恢复

    本文档介绍如何使用 Dumpling 和 TiDB Lightning 进行全量备份与恢复. 在备份与恢复场景中,如果需要全量备份少量数据(例如小于 50 GB),且不要求备份速度,你可以使用 Dum ...

  4. 多个物理磁盘挂载到同一目录的方法 (lvm 软raid)

    多个物理磁盘挂载到同一目录的方法 (lvm 软raid) 背景 公司里面的一台申威3231的机器 因为这个机器的raid卡没有操作界面. 所以只能够通过命令行方式创建raid 自己这一块比较菜, 想着 ...

  5. [转帖]Innodb存储引擎-锁(数据库锁的查看、快照读&当前读、MVCC、自增长与锁、外键与锁、行锁、并发事务的问题、阻塞、死锁、锁升级、锁的实现)

    文章目录 锁 lock 与latch 读锁/写锁/意向锁 INNODB_TRX/INNODB_LOCKS/INNODB_LOCK_WAITS 一致性非锁定读(快照读) 一致性锁定读(当前读) MVCC ...

  6. [转帖]Elasticsearch 技术分析(七): Elasticsearch 的性能优化

    https://www.cnblogs.com/jajian/p/10176604.html 硬件选择# Elasticsearch(后文简称 ES)的基础是 Lucene,所有的索引和文档数据是存储 ...

  7. NutUI 4.0 正式发布!

    作者: 京东零售 NutUI NutUI 4.0 Github 地址:github.com/jdf2e/nutui NutUI 4.0 官网:nutui.jd.com 前言 技术日异月新.发展创新.持 ...

  8. 对象数组,如果key中的value相同,不要该项

    <script type="text/javascript"> let arr=[ { gradeId: "498094709437239572", ...

  9. 利用Mybatis拦截器实现自定义的ID自增器

    原生的Mybatis框架是没有ID自增器,但例如国产的Mybatis Plus却是支持,不过,Mybatis Plus却是缺少了自定属性的填充:例如:我们需要自定义填充一些属性,updateDate. ...

  10. 【2】Pycharm插件推荐,超级实用!每个小trick都可以快速提升变成效率!

    相关文章: [1]Pycharm 主题设置推荐Material Theme UI以及编辑环境配置(字体大小和颜色) [2]Pycharm插件推荐,超级实用!每个小trick都可以快速提升变成效率! [ ...