在做性能测试时需要根据性能需求配置不同的压测模式,如:阶梯模式。使用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. Oceanbase部分参数学习与验证

    Oceanbase部分参数学习与验证 字符集等参数查看 yum install obclient -y 然后使用客户端连接: obclient -h172.24.110.175 -P2881 -uro ...

  2. [转帖]linux下查看内存频率,内核函数,cpu频率

    https://www.cnblogs.com/lovesKey/p/10900501.html 查看CPU: cat /proc/cpuinfo # 总核数 = 物理CPU个数 X 每颗物理CPU的 ...

  3. [转帖]为什么需要在脚本文件的开头加上#!/ bin / bash?

    本文翻译自:Why do you need to put #!/bin/bash at the beginning of a script file? I have made Bash scripts ...

  4. [转帖]关系模型到 Key-Value 模型的映射

    https://cn.pingcap.com/blog/tidb-internal-2 在这我们将关系模型简单理解为 Table 和 SQL 语句,那么问题变为如何在 KV 结构上保存 Table 以 ...

  5. [转帖]Java 认证与授权(JAAS)介绍

    https://www.cnblogs.com/wuyongyin/p/16981469.html JAAS(Java Authentication Authorization Service),即 ...

  6. 【转帖】奇淫技巧 | route命令设置网络优先级

    奇淫技巧 | route命令设置网络优先级 https://blog.csdn.net/DynmicResource/article/details/120134745 1. 背景 在生活中的会经常遇 ...

  7. [转帖]引人入胜,实战讲解“Java性能调优六大工具”之linux命令行工具

    Java性能调优六大工具之Linux命令行工具 为了能准确获得程序的性能信息,需要使用各种辅助工具.本章将着重介绍用于系统性能分析的各种工具.熟练掌握这些工具,对性能瓶颈定位和系统故障排查都很有帮助. ...

  8. [转帖]怎样设计异步系统: Linux Native AIO vs io_uring

    https://zhuanlan.zhihu.com/p/149836046 Linux native aio一方面有其实用价值, 基本满足了特别业务比如大型数据库系统对异步io的需求, 另一方面却被 ...

  9. Linux上面批量更新SQLSERVER SQL文本文件的办法

    1. 今天同事让帮忙更新几个SQL文件.. 本着自己虽然low 但是不能太low的想法, 简单写一个 shell 脚本来执行. 2. 因为我的linux 里面都安装了 sqlcmd 的工具 所以办法就 ...

  10. vue关于通过下标更改数组的理解

    案例1:通过下标更改数组失败 <template> <div> <el-button @click="handlerMe2"> 改变 arr & ...