点击跳转>>jmeter--由浅入深学性能系列

需求

下面有3个场景,思考一下在jmeter里面如何设计

场景1:有一个项目,500用户同时登录,响应时间能达到多少场景2:考勤打卡,最大吞吐量能达到多少(每秒最大能完成多少笔打卡业务)场景3:银行业务,如果需要支持1分钟内完成3000笔取款操作,平均每秒能支持多少用户同时取款完成

负载模式

性能测试中的负载模式有两种。第一种是并发用户模式(虚拟用户模式)

并发用户是指虚拟并发用户数,从业务角度,也可以理解为同时在线的用户数。从客户端的角度出发,摸底业务系统各节点能同时承载的在线用户数,可以使用该模式设置目标并发,也就是 jmeter 里面的线程数。

第二种是RPS 模式(吞吐量模式)

RPS(Requests Per Second)是指每秒请求数。RPS 模式即“吞吐量模式”,通过设置每秒发出的请求数,从服务端的角度出发,直接衡量系统的吞吐能力。

场景设计

场景一分析

场景一就是典型的并发用户模式。

我们在用jmeter设计第一种场景的时候,可以用线程数去模拟并发用户。如下图

设置500线程去模拟500用户;一次迭代表示每个线程的请求只发起一次;集合点500表示这500线程将在同一时间发起请求

场景二分析

场景二就是典型的吞吐量模式了。

为什么要设计这种模式呢?因为我们通常谈到压力都是从客户端去考虑的,也就是先知道并发用户数有多少,然后再去发起压力。但是如果不知道并发数的话,我们是不是就没有办法去测试了?所以后来从阿里衍生出了一个RPS模式,就是绕过并发数的计算,直接通过吞吐量去直接衡量服务端的性能。吞吐量是衡量系统性能的唯一标准

设计第二种场景的时候,我们就需要考虑吞吐量了。我们一般通过负载测试来找到吞吐量的拐点。

负载测试:持续稳定地增加系统的负载,测试系统性能的变化,找出系统瓶颈和性能拐点

如果用rps压力模式的话,这里所谓的增加系统负载,就是指的增加每秒请求数。如下图rps定时器

下图表示我在60s内将rps稳定的加到400/s

下图表示监听到的tps数据

场景三分析

场景三其实也是一种吞吐量模式,但是这里的吞吐量不再是完成的请求数,而是完成的业务数,或者叫事物

业务时间

支撑1分钟内的3000笔取款操作,这里的意思就是1分钟内完成3000笔取款的业务。怎么才算完成业务呢?事实上我们一笔取款机取款业务的完成时间需要从打开页面发起请求开始计算,到响应完成,然后取款机给出结果让用户看到为止,中间还要包括思考时间。所以单笔取款业务时间=浏览器渲染时间+连接时间+思考时间+服务处理时间

平均并发数

我们知道了一分钟完成3000笔业务的需求,业务时间也可以计算出来。那么平均并发数是什么意思?这里的平均并发数指的是平均每秒有多少用户同时取款完成,才能达到这个一分钟3000的业务量。假设我的服务处理+浏览器渲染时间是2s,思考时间是8s。计算平均并发数的公式如下:

平均并发=(单笔业务时间*业务总量)/业务时间= (10 X 3000)/60=500/s    也就是说,平均每秒有500个用户取款,能达到我的预期业务量场景设计如下图

        点击下方 阅读原文,有免费的jmeter基础课程视频在线观看哦~

app每秒并发数_性能测试连载 (38) jmeter 线程数与性能测试的负载模式相关推荐

  1. 查看 java 进程线程数_查看指定进程的线程数

    先查出进程id,然后从下面命令行执行结果查看线程数: cat /proc/{进程id}/status 得出结果: ··· Name: java State: S (sleeping) Tgid: 94 ...

  2. springboot tomcat默认线程数_记一次JAVA线程池的错误用法

    最近项目一个项目要结项了,但客户要求 TPS 能达到上千,而用我写的代码再怎么弄成只能达到 30 + 的 TPS,然后我又将代码中能缓存的都缓存了,能拆分的也都拆分了,拆分时用的线程池来实现的:其实现 ...

  3. 0.9.2、线程池——核心线程数、阻塞队列、最大线程数之间的关系

    文章目录 线程池内部运行过程 验证思路 确保先提交的任务优先被线程池处理 确保执行的任务占有足够久的线程池资源 可观测的阻塞队列大小 充分的信息 代码 自定义线程池 结果 结论 基本几结论 新任务提交 ...

  4. 性能测试:深入理解线程数,并发量,TPS,看这一篇就够了

    并发数,线程数,吞吐量,每秒事务数(TPS)都是性能测试领域非常关键的数据和指标. 那么他们之间究竟是怎样的一个对应关系和内在联系? 测试时,我们经常容易将线程数等同于表述为并发数,这一表述正确吗? ...

  5. jmeter线程数并发数区别_如何确定Kafka的分区数、key和consumer线程数、以及不消费问题解决...

    在Kafak中国社区的qq群中,这个问题被提及的比例是相当高的,这也是Kafka用户最常碰到的问题之一.本文结合Kafka源码试图对该问题相关的因素进行探讨.希望对大家有所帮助. 怎么确定分区数? & ...

  6. 性能测试连载 (7)-jmeter 压力测试中的难点解析

    概述 新人在用jmeter做压力测试的时候,会被一些性能术语搞懵,直接导致的后果就是对测试出来的结果数据根本不能理解,更谈不上分析.这篇文章着重给大家实例解释一下jmeter压力测试的一些专有名词 问 ...

  7. java异步线程数_spring异步service中处理线程数限制详解

    情况简介 spring项目,controller异步调用service的方法,产生大量并发. 具体业务: 前台同时传入大量待翻译的单词,后台业务接收单词,并调用百度翻译接口翻译接收单词并将翻译结果保存 ...

  8. java 最大线程数_JVM可生产的最大线程数 Thread 数量

    这几天因为自己开发的一个网站在768M内存的机器上撑不起100多个用户的运行,因为每个用户启用功能后,系统将为每个用户分配8个左右的独立线程,我的这篇文章http://www.mzone.cc/art ...

  9. 性能测试连载 (8)-jmeter 实战分析并发、RPS、RT 公式换算

    前提 在阿里云PTS上有一篇文章讲解VU.RPS.RT换算,中间有一个公式介绍如下图 并发数 = RPS * 响应时间 于是我在本地做了几次实验,试图验证一下公式的准确性,实验网站 www.baidu ...

最新文章

  1. 一台电脑怎么接两个显示器_电脑数码类目显示器 篇二:11.11抄作业,个人消费级显示器怎么选--20款好价显示器推荐_显示器...
  2. 【今晚7点半】:主编对话Netless白板创始人伍双
  3. 使用Apache Zookeeper进行协调和服务发现
  4. 下列python语言、返回结果不是uc_MKAN1-UC 5103作业代写、代做Analytics作业、Java,Python,c/c++程序语言作业代做...
  5. 防抖 节流_防抖节流与前端性能优化
  6. 理论基础 —— 排序 —— 桶排序
  7. macbook pro启用root的方法
  8. 用etcd实现服务注册和发现
  9. 华中数控机器人编程循环三次_华中数控:公司在数控技术上不断创新突破 在技术方面处于国内领先水平...
  10. QT每日一练day2:day1优化以及QT内存管理机制
  11. 如何启用×××服务器端的IPsec功能
  12. PHP文件操作【其一】文件路径
  13. vue+element-ui 实现table单元格点击编辑,并且按上下左右键单元格之间切换
  14. 自学JAVA的十大网站你都知道那些
  15. python实现excel转置问题
  16. numpy中的array函数
  17. C++ : 热血格斗场
  18. DirectX支配游戏 历代GPU架构全解析
  19. cygwin64安装wget和apt-cyg
  20. 梯度下降---偏导数及其几何意义

热门文章

  1. php curl keepalive,HTTPKeepAlive,开启还是关闭
  2. php面试php数组变ahp,关于PHP字符串的一道面试题
  3. c ++atoi函数_atoi()函数以及C ++中的示例
  4. aptitude_PHP Numbers Aptitude问题与解答
  5. 【MATLAB】卡尔曼滤波器的原理及仿真(初学者专用)
  6. Linux debian ubuntu安装GIMP软件
  7. Python读写ini文件的封装类
  8. 关注微信公众号使其自动发送欢迎你关注消息
  9. ASP.NET MVC 使用防伪造令牌来避免CSRF攻击
  10. AtCoderGC038B - Sorting a Segment 数据结构 + RMQ