测试工具:jmeter v_5.2

测试对象:某网站的物料获取接口,需登录后操作

测试目的:快速定位该接口最大并发用户数

思路&步骤:

1.模拟一个场景,某天临近下班,主管突然过来让你测下你们网站,一个获取物料接口的性能,撂下一句“找下它最大的并发数,然后扣扣上跟我说下”。你说你怎么办,要做的很严谨吗(把软件,硬件,网络环境,代码算法逻辑等因素都放进去),可以这么做,但场景设计的越是复杂,影响性能瓶颈的因素就越多,这样就越难找到自己想要的结果,等你测试完成,网站可能已经被用户踩塌了,所以引入RBI测试理念,突出快速。

2.按要求先网站登录,再调用物料获取接口,你把脚本整理出来了

注意,登录的线程组是“setup thread group”,获取物料的线程组是“Ultimate thread group”

前者是把登录作为测试前准备来看,后者是为了更好控制接口压力

正则表达式提取器,为了提取token用于后面接口的操作

BeanShell后置处理程序,为了实现跨线程组参数的传递

Http信息头管理器,为了存储获取到的token

固定定时器,为了进一步控制接口压力

聚合报告,为了用来获取关键的测试结果

3.脚本的框架有了,接下去你就要设计测试场景, “几秒起几个用户,持续操作多久,然后停止操作要花几秒”

start threads count:并发的用户数

Initial Delay,sec:延迟启动的时间

Startup Time,sec:启动线程的耗时

Hold Load For,sec:持续时间

Shutdown Time:关闭线程的耗时

1.先来个,0秒启动100个并发,持续一分钟,然后马上关闭全部线程,结果你发现,响应时间,吞吐量数据都不好看,说不定还有若干请求报错了。

原因猜测,压力太大,请求可能堵在客户机或者服务端,时间过长,就会超时报错

2.打算降压,30秒启动10个并发,持续一分钟,然后10秒关闭全部线程,结果你发现,响应时间很短,但吞吐量不高。

原因猜测,压力太小,服务端还没开始就结束了

3.再次优化,30秒启动50个并发,持续一分钟,然后10秒关闭全部线程,结果你发现,吞吐量有个持续走高的过程,会有浮动,且会出现一个峰值

原因猜测,客户机在不停给服务端施压,服务器处于逐渐满负荷运行的状态

4.现在你有了一个峰值的吞吐量,以及对应的响应时间,就能得出服务器最优状态下的最大并发用户数了,

吞吐量(此处的吞吐量假设等于TPS)X 平均响应时间 ≈ 最大并发数

注意事项:

1.由于主动忽略了很多外部环境因素,最后得出的也应该只是一个大致结果

【原创】基于RBI的性能测试理念,通过jmeter快速定位接口最大并发用户数的更多相关文章

  1. jmeter的线程数,并发用户数,TPS,RPS 关系解说

    背景 在做性能测试的时候,传统方式都是用并发虚拟用户数来衡量系统的性能(站在客户端视角),一般适用于一些网页站点例如首页.H5的压测:而RPS(Requests per second)模式主要是为了方 ...

  2. 性能测试中TPS和并发用户数

    并发用户数与TPS之间的关系 1.  背景 在做性能测试的时候,很多人都用并发用户数来衡量系统的性能,觉得系统能支撑的并发用户数越多,系统的性能就越好:对TPS不是非常理解,也根本不知道它们之间的关系 ...

  3. 使用Jmeter进行http接口性能测试

    在进行网页或应用程序后台接口开发时,一般要及时测试开发的接口能否正确接收和返回数据,对于单次测试,Postman插件是个不错的Http请求模拟工具. 但是Postman只能模拟单客户端的单次请求,而对 ...

  4. jmeter简单的接口性能测试

    原文转自:https://blog.csdn.net/lovesoo/article/details/78579547 Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件 ...

  5. [原创]Linux下网络性能测试Netperf工具介绍及安装

    [原创]Linux下网络性能测试Netperf工具介绍及安装 1 官方网站 http://www.netperf.org/netperf/ 2 Netperf介绍 Netperf是一种网络性能的测试工 ...

  6. 使用Jmeter进行http接口性能测试(转载)

    在进行网页或应用程序后台接口开发时,一般要及时测试开发的接口能否正确接收和返回数据,对于单次测试,Postman插件是个不错的Http请求模拟工具. 但是Postman只能模拟单客户端的单次请求,而对 ...

  7. 基于python的性能测试工具–locust

    现在有很多的性能测试工具,比如说我们熟悉的loadrunner.jmeter.ab.webbench等等,这些工具如果对一个没用过的朋友来说,学习起来比较不容易,但是如果你能看懂python代码,会写 ...

  8. 性能测试分享:Jmeter的api监控工具解决方案

    性能测试分享:Jmeter的api监控工具解决方案 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询q ...

  9. 性能测试分享:jmeter性能监控(一)

    性能测试分享:jmeter性能监控(一) poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908 ...

随机推荐

  1. 纯js文件弹出窗写法

    <dialog id="myDialog"> 01234567890 <a href="javascript:;" id="clos ...

  2. 谈谈从事IT测试行业的我,对于买房买车有什么样的感受

    周边测试同事,开发同事买?买?的比较多, 偶尔大家话题中也会谈起这个. 毕竟工作.衣.食.住.行和我们每个IT从业者息息相关, 大家有着相同或相似的感受与经验. - 前公司 以前公司测试经理 10年从 ...

  3. 谈谈Vue的递归组件

    2月最后一天,而且还四年一遇,然而本月居然一篇博客没写,有点说不过去.所以,今天就来谈谈Vue的递归组件.我们先来看一个例子: See the Pen 递归组件 by imgss (@imgss) o ...

  4. 自定义 ---UICollectionViewLayout-正N变形居中布局

    1. 自定义UICollectionLayout ---- 正三角形居中布局 支持多个图形的自动布局 2. 自定义UICollectionLayout ---- 正方形居中布局 滚动展示的区域 3.  ...

  5. java 初探-猜数字

    学习Java而编写的猜数字的程序代码. /** * */ package org.literal.test; import java.util.Scanner; /** * @author liter ...

  6. 鼠年开元用逐浪CMS v8.13版-NoSQL安装更轻便

    作为国内领先的Zoomla!逐浪CMS,一直以来深受人道的除了其功能强大.性能稳定外,易用性也是其突出的现. 自Zoomla!逐浪CMS 8.x开始,官方在其程序包中,集成了一键安装进程,从而大大提升 ...

  7. Python自定义模块

    自定义模块 自定义模块(也就是私人订制),我们要自定义模块,首先就要知道什么是模块 一个函数封装一个功能,比如现在有一个软件,不可能将所有程序都写入一个文件,所以咱们应该分文件,组织结构要好,代码不冗 ...

  8. 大数据存储利器 - Hbase 基础图解

    由于疫情原因在家办公,导致很长一段时间没有更新内容,这次终于带来一篇干货,是一篇关于 Hbase架构原理 的分享. Hbase 作为实时存储框架在大数据业务下承担着举足轻重的地位,可以说目前绝大多数大 ...

  9. 基于Redis未授权访问的挖矿蠕虫分析

    0x01 攻击方式 利用的是通用漏洞入侵服务器并获得相关权限,从而植入挖矿程序再进行隐藏. 通过对脚本的分析,发现黑客主要是利用 Redis未授权访问漏洞进行入侵.脚本里有个python函数. imp ...

  10. kafka启动报错"A broker is already registered on the path /brokers/ids/1"解决方案

    问题 kafka挂掉后,启动报错日志如下 [2020-03-19 17:50:58,123] FATAL Fatal error during KafkaServerStartable startup ...