Jmeter---压力模式
需求
下面有3个场景,思考一下在jmeter里面如何设计
场景1:有一个项目,500用户同时登录,响应时间能达到多少
场景2:考勤打卡,最大吞吐量能达到多少(每秒最大能完成多少笔打卡业务)
场景3:银行业务,如果需要支持1分钟内完成3000笔取款操作,平均每秒能支持多少用户同时取款完成
压力模式
性能测试中的压力模式有两种。
第一种是并发用户模式(虚拟用户模式)
并发用户是指虚拟并发用户数,从业务角度,也可以理解为同时在线的用户数。从客户
端的角度出发,摸底业务系统各节点能同时承载的在线用户数,可以使用该模式设置目
标并发,也就是 jmeter 里面的线程数。
第二种是RPS 模式(吞吐量模式)
RPS(Requests Per Second)是指每秒请求数。RPS 模式即“吞吐量模式”,通过设置
每秒发出的请求数,从服务端的角度出发,直接衡量系统的吞吐能力。
场景设计
场景1就是典型的并发用户模式
我们在用jmeter设计第一种场景的时候,可以用线程数去模拟并发用户。如下图
设置500线程去模拟500用户;一次迭代表示每个线程的请求只发起一次;集合点500表示这500线程将在同一时间发起请求,添加监听器查看响应时间

场景二分析
场景二就是典型的吞吐量模式了。
为什么要设计这种模式呢?经常领导让做性能测试的时候,并不知道具体的并发数及系统的访问量,这样的画我们是不是就没有办法去测试了?
所以后来从阿里衍生出了一个RPS模式,就是绕过并发数的计算,直接通过吞吐量去直接衡量服务端的性能。吞吐量是衡量系统性能的唯一标准
设计第二种场景的时候,我们就需要考虑吞吐量了。我们一般通过负载测试来找到吞吐量的拐点。
负载测试:持续稳定地增加系统的负载,测试系统性能的变化,找出系统瓶颈和性能拐点
如果用rps压力模式的话,这里所谓的增加系统负载,就是指的增加每秒请求数。如下图rps定时器
下图表示我在20s内将rps稳定的加到200/s

查看tps

场景三分析
场景三其实也是一种吞吐量模式,但是这里的吞吐量不再是完成的请求数,而是完成的业务数,或者叫事物
业务时间
支撑1分钟内的3000笔取款操作,怎么才算完成业务呢?事实上我们一笔取款机取款业务的完成时间需要从打开页面发起请求开始计算,到响应完成,然后取款机给出结果让用户看到为止,中间还要包括思考时间。所以单笔取款业务时间=浏览器渲染时间+连接时间+思考时间+服务处理时间
平均并发数
我们知道了一分钟完成3000笔业务的需求,业务时间也可以计算出来。那么平均并发数是什么意思?这里的平均并发数指的是平均每秒有多少用户同时取款完成,才能达到这个一分钟3000的业务量。假设我的服务处理+浏览器渲染时间是2s,思考时间是8s。计算平均并发数的公式如下:
平均并发=业务总量*(单笔业务时间/业务时间)= 3000*(10/60)=500/s
也就是说,平均每秒有500个用户取款,能达到我的预期业务量场景设计
Jmeter---压力模式的更多相关文章
- 非 GUI 模式运行 JMeter 压力测试
非 GUI 模式,即命令行模式,运行 JMeter 测试脚本能够大大缩减所需要的系统资源. 使用命令:jmeter -n -t <testplan filename> -l <lis ...
- 非GUI 模式运行 jmeter 压力测试
非 GUI 模式,即命令行模式,运行 JMeter 测试脚本能够大大缩减所需要的系统资源. 使用命令:jmeter -n -t <testplan filename> -l <lis ...
- 一次tomcat配置参数调优Jmeter压力测试记录前后对比
使用的tomcat版本为:apache-tomcat-7.0.53 使用测试工具Jmeter版本为:apache-jmeter-2.12 1.测试前tomat的"server.xml&quo ...
- 性能测试之JMeter远程模式
性能测试之JMeter远程模式 事实上,你的JMeter客户端机器是不能表现出完美的压力请求,来模拟足够多的用户或由于网络限制去向服务施加压力,一种解决方法是通过一个JMeter去控制多个/远程JMe ...
- JMeter压力测试以文件的形式
JMeter压力测试入门教程[图文] 1. 下载JMeter 2. 启动JMeter 3. 运行预准备 4. 运行 文章目录 Apache JMeter是Apache组织开发的基于Java的压力测试工 ...
- Jmeter压力测试生成聚合报告
Jmeter压力测试: 压力测试的场景设置分为三种: 单场景:一个请求(如:单个接口的测试) 混合场景:多个请求(如:购物流程的测试) 压测时间,一般场景都是运行10-15分钟,如果是做疲劳测试的话, ...
- jmeter 压力测试
转自: https://blog.csdn.net/cbzcbzcbzcbz/article/details/78023327 Jmeter压力测试简单教程(包括服务器状态监控) 2017年09月18 ...
- 转载:JMeter压力测试入门教程[图文]
JMeter压力测试入门教程[图文] Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域. 它可 ...
- 【转】jmeter压力测试
jmeter压力测试 Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域, 是压力测试的首选软件 ...
- Jmeter压力测试入门操作
Jmeter压力测试入门 1. 前言 Jmeter 是Apache组织开发的基于Java的压力测试工具,开源并且支持多个操作系统,是一款很好的HTTP测试工具.本篇文章主要的目的是帮助没有接触过J ...
随机推荐
- springboot 配置springmvc?
package com.aaa.zxf.config; import org.springframework.boot.SpringBootConfiguration; import org.spri ...
- js-reduce方法源码
// 数组中的reduce方法源码复写 //先说明一下reduce原理:总的一句,reduce方法主要是把数组遍历, //然后把数组的每个元素传入回调函数中,回调函数怎么处理,就会的到什么样的效果 A ...
- 安装JDK,以及配置环境变量
卸载JDK 删除Java的安装目录 删除JAVA_HOME 删除path下关于Java的目录 Java-version 安装JDK 使用浏览器搜索JDK,找到下载地址 同意协议 下载电脑对应的版本 双 ...
- java的装箱和拆箱详解
========================================================================================= 在我看来,学习jav ...
- NOIP2017 Day2T3 列队
首先可以观察到这样一个事实,如果 \((x, y)\) 出队,那么只会影响 \(x\) 这一行,以及最后一列的排布.并且可以发现,每次一个人出队,总会对最后一列有影响,因此我们可能需要将最后一列单独拿 ...
- 在IDE中添加widfly依赖
动机:在IDE中添加widfly依赖 原由:widfly实现了servlet接口,有我们对外交互时所需求的jar包 步骤: 第一步: 找到module依赖的地方 第二步:点击左侧的添加按钮,点击Lib ...
- position和anchorPoint笔记
position和anchorPoint是CAlayer的两个属性. 我们以前修改一个控件的位置都是能过Frame的方式进行修改. 现在利用CALayer的position和ancho ...
- git每次操作都要输入账号密码 解决方案
1.执行命令: git config --global credential.helper store git pull 2.输入用户名密码,以后就不会再次要求用户名密码了
- element ui图片上传方法
<!--商品图片--> <template v-slot:product_cover> <el-upload list-type="picture-card&q ...
- 前端语言之js(对比python快速入门)
昨日内容回顾 浮动 定位 溢出 透明度 模态框 今日内容概要 变量与常量 基本数据类型 数据类型内置方法 函数 常见内置对象 BOM与DOM操作 内容详细 1.变量与常量 # 在JS中声明变量需要使用 ...