需求

下面有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---压力模式的更多相关文章

  1. 非 GUI 模式运行 JMeter 压力测试

    非 GUI 模式,即命令行模式,运行 JMeter 测试脚本能够大大缩减所需要的系统资源. 使用命令:jmeter -n -t <testplan filename> -l <lis ...

  2. 非GUI 模式运行 jmeter 压力测试

    非 GUI 模式,即命令行模式,运行 JMeter 测试脚本能够大大缩减所需要的系统资源. 使用命令:jmeter -n -t <testplan filename> -l <lis ...

  3. 一次tomcat配置参数调优Jmeter压力测试记录前后对比

    使用的tomcat版本为:apache-tomcat-7.0.53 使用测试工具Jmeter版本为:apache-jmeter-2.12 1.测试前tomat的"server.xml&quo ...

  4. 性能测试之JMeter远程模式

    性能测试之JMeter远程模式 事实上,你的JMeter客户端机器是不能表现出完美的压力请求,来模拟足够多的用户或由于网络限制去向服务施加压力,一种解决方法是通过一个JMeter去控制多个/远程JMe ...

  5. JMeter压力测试以文件的形式

    JMeter压力测试入门教程[图文] 1. 下载JMeter 2. 启动JMeter 3. 运行预准备 4. 运行 文章目录 Apache JMeter是Apache组织开发的基于Java的压力测试工 ...

  6. Jmeter压力测试生成聚合报告

    Jmeter压力测试: 压力测试的场景设置分为三种: 单场景:一个请求(如:单个接口的测试) 混合场景:多个请求(如:购物流程的测试) 压测时间,一般场景都是运行10-15分钟,如果是做疲劳测试的话, ...

  7. jmeter 压力测试

    转自: https://blog.csdn.net/cbzcbzcbzcbz/article/details/78023327 Jmeter压力测试简单教程(包括服务器状态监控) 2017年09月18 ...

  8. 转载:JMeter压力测试入门教程[图文]

    JMeter压力测试入门教程[图文] Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域. 它可 ...

  9. 【转】jmeter压力测试

    jmeter压力测试 Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域, 是压力测试的首选软件 ...

  10. Jmeter压力测试入门操作

    Jmeter压力测试入门   1. 前言 Jmeter 是Apache组织开发的基于Java的压力测试工具,开源并且支持多个操作系统,是一款很好的HTTP测试工具.本篇文章主要的目的是帮助没有接触过J ...

随机推荐

  1. Lesson6——Pandas Pandas描述性统计

    1 简介 描述统计学(descriptive statistics)是一门统计学领域的学科,主要研究如何取得反映客观现象的数据,并以图表形式对所搜集的数据进行处理和显示,最终对数据的规律.特征做出综合 ...

  2. 计算机网络再次整理————UDP例子[六]

    前言 简单的说,UDP 没有 TCP 用的广泛,但是还有很多是基于UDP的程序的,故而简单介绍一下. 正文 秉承节约脑容量的问题,只做简单的介绍和例子,因为自己几乎也没怎么用过UDP. 只是了解和知晓 ...

  3. Lesson8——Pandas reindex重置索引

    pandas目录 1 简介 重置索引(reindex)可以更改原 DataFrame 的行标签或列标签,并使更改后的行.列标签与 DataFrame 中的数据逐一匹配.通过重置索引操作,您可以完成对现 ...

  4. OPENCV中Line2D对象的意义

    这个对象有四个属性值 VY/VX就是直线的斜率,这俩值代表着直线的归一化向量 X,Y就是直线上的任意一点 直线方程计算如下:

  5. 安装JDK,以及配置环境变量

    卸载JDK 删除Java的安装目录 删除JAVA_HOME 删除path下关于Java的目录 Java-version 安装JDK 使用浏览器搜索JDK,找到下载地址 同意协议 下载电脑对应的版本 双 ...

  6. js中全局变量和局部变量以及变量声明提升

    javascript中全局变量和局部变量的区别 转载前端小99 发布于2018-04-23 15:31:35 阅读数 2102  收藏 展开 [javascript] view plain copy ...

  7. 隐式意图&显示意图

    1 隐式意图     通过指定一组动作或者数据 开启activity   2 显示意图    通过指定具体包名和类名 开启activity       总结    (1)显示意图更加安全一些    ( ...

  8. UNIX系统上的抓包工具tcpdump常用命令说明

    tcpdump 介绍 tcpdump采用命令行方式对接口的数据包进行筛选抓取,其丰富特性表现在灵活的表达式上. 不带任何选项的tcpdump,默认会抓取第一个网络接口,且只有将tcpdump进程终止才 ...

  9. ldconfig及LD_LIBRARY_PATH

    ldconfig是一个动态链接库管理命令,为了让动态链接库为系统所共享,还需运行动态链接库的管理命令:ldconfig.ldconfig 命令的用途,主要是在默认搜寻目录 (/lib和/usr/lib ...

  10. TableView载入WebView的一些小技巧 By 徐

    开发APP的时候,有时候会遇到服务器返回来的数据是一堆html内容,但是又不一定是完整的html ,可能只包含了主要内容,包括一些图片,文字等 然而我们处理带有html标签的数据时,用webview是 ...