jmeter tps指标在哪里看_性能测试连载(8)jmeter压力测试中的难点解析

概述

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

问题1:什么是压力测试

问到如何做压力测试,很多人可能只会回答:"加线程组,加并发,看结果"。那么什么是压力,压力从哪里体现?这些恐怕就不得而知了。。。

到底什么是压力呢?实际上我们在压力测试中用RPS来表示

RPS

RPS 就是每秒请求数(Request Per Second),它描述了施压引擎向服务器实际发出的压力大小。从用户角度来说,rps是每秒钟点击的次数从客户端角度来说,rps是每秒向服务端发出的请求数使用工具的最终目的就是为了利用线程数和迭代次数模拟出和用户每秒点击相匹配的压力值,施压服务端,得到性能数据

Rps 由并发数,和服务器响应时间决定。并发数过低时可能达不到预期的 RPS,并发数过高时可能压力过大直接就压垮了服务器。

问题2:jmeter怎么调节压力

从前面的描述中我们知道压力就是每秒发出的请求数。现在再来理解一个jmeter的名词Ramp-up-period(in seconds)

Ramp-up-period

jmeter在线程组中有一个可调节的数值:Ramp-up-period,它表示启动所有线程需要的时间,单位是秒

图1-1设置了100个线程,迭代次数=1,Ramp-up-period=25,那么它表示我将在25秒内启动100个线程,也就是每秒钟启动4个线程。

每个线程启动之间的间隔时间是25/100=0.25s,也就是250ms。

换个理解方式,它表示了我们预期给服务器的压力就是每秒钟发送4个请求。也就是说,设置的RPS=4/s

d79997d8d41d9e3479c921c8cf18c4a5.png

1-1

图1-2设置了100个线程,迭代次数=10,Ramp-up-period=25,那么它表示我将在25秒内启动100个线程,每个线程迭代10次。也就是25秒内启动100个线程并迭代10次。
此时RPS=40/s。观察聚合报告1-3,jmeter在25秒内用100个线程发起了1000次请求。

dcde8b698c39a2145f61812ce14f9e9e.png

1-2

069b3b6731f0837986db97bc38c96c10.png

1-3

jmeter中的RPS是无法通过监听器来直观的监测到,但是在单请求下,RPS和HPS理论上是相等的。可以通过HPS监听器去验证一下。

HPS监听

418a1e69a18d7f98b8c4eb73e738c81d.png

TPS监听

858eea62fce6dcba2d7b5e251d98d5da.png

问题3:jmeter中的throughput到底是什么?

各位小伙伴们在使用jmeter时,是不是常常被 throughput 搞晕?到处都是throughput ,到底是做什么用的呢?

我们先看看有哪些throughput 元件

定时器中有目标Constant Throughput 和 Throughput Shaping Timer

逻辑控制器中有吞吐量控制器

聚合报告中也有一个Throughput

撑不住了,好晕啊。。。啊。。。啊。。。。

稳住不要晕倒,下面带大家一个个的来梳理,重建jmeter世界观

先理解一下什么是Throughput

Throughput是用来衡量吞吐量的指标,通常由TPS和QPS来表示。

TPS表示每秒通过的事物数,QPS表示每秒查询接口数。

jmeter中如果只有单接口,那么TPS=QPS。

如果是多接口的混合场景,只有在事物控制器下执行,才能将其理解为TPS。

聚合报告中的 Throughput
下图Throughput表示无限迭代下的业务吞吐量TPS,大约是40/s。意思就是每秒响应完成的请求是40。

9424978e2a25eff2477f27ee1ffb265a.png

Constant Throughput Timer
现在我们在接口下添加一个 Constant Throughput Timer

这是一个吞吐量定时器,它可以控制我们的TPS。

如图,我设定了目标吞吐量是240/min,也就是4/s。

ee6523028b023c35ea6752e91b58a885.png

接下来运行的结果可以看到,无论我们预期的吞吐量有多大,实际的TPS都被强力压缩在4/s,同时我们的平均响应时间也变的很短

d142b84927c74a9a14ce1644b23acb85.png

Throughput Shaping Timer
再来看一下 Throughput Shaping Timer

下图可以很明显看到它是用来控制RPS的,也就是每秒请求数。

start=1 end=100,持续时间是60。表示我们需要在60s内将RPS(每秒请求数)均匀的从1提升到100。

下面可以看出来我们的每秒请求数均匀的在提升

4f02569ec13f1f799cfbada0f9dd7ecc.png

逻辑控制器-吞吐量控制器
这个控制器里的吞吐量,指的是请求比例。

比如我们总共发出1000个请求,这个控制器下的接口只会发送300个,比例控制在30%

1cb20a2e8a511e333ea3654b9b1c8c23.png

3c3194fe0efefc7af3b67002bb8fb124.png

下面这张图更直观的说明了请求的比例分配

请求1的控制器分配的比例是30%,剩余的70%都分给了请求2的控制器

321f48dda9802b5f08df7d21de03ddeb.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
课程从基础讲起,全课程以实战为主,每个知识点通过实际案例演练讲解理论+实践结合,更容易理解,适合小白,低门槛,快速上手。 课程同时涵盖web端和移动端app测试,同时还加入了抓包工具的使用; 1) 第一阶段为JMETER 5.4.1 (最新版本)工具使用篇,通过Jmeter 介绍和安装、http 取样器、JDBC 取样器、JMETER 组件详细讲解、配置元件、三种参数化方式教你玩转JMETER 参数化、工作过程间所需的常用函数、聚合报告、察看结果树、汇总报告等监听器知识,后置处理器、后置处理器之正则表达式提取器提取响应内容实践、读取本地JSON格式文件实例、正则表达式操作符、正则表达式工具之Regextester,系统全面学习正则表达式,突破JMETER 知识难点,响应断言、JMETER分布式、分布式原理、搭建JMETER 分布式、WebService协议接口测试。 每一个知识点采用理论加案例的方式,吃透每一个知识点,为性能测试实践奠定基础。 2) 第二阶段为性能测试实践篇1、通过JMETER 实践爬虫技术,爬取第三方平台全网页地址、批量爬取国外网站壁纸10W+图片并保存到本地;2、详细介绍Fiddler 抓包工具,Fiddler 抓包工具原理、Fiddler 抓取PC 端和移动端包信息、JMETER+Fiddler 结合使用对PC 端项目进行性能测试项目实践,提升PC 端性能测试能力;3、JMETER+Fiddler  结合使用对app 项目进行性能测试项目实践,提升app项目性能测试能力4、性能测试常见的业务指标和技术指标、响应时间、TPS、HPS等知识进行讲解5、通过JMETER 对移动端项目进行性能测试实战; 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值