首页 > 编程知识 正文

jmeter性能指数(性能测试jmeter)

时间:2023-05-04 21:16:08 阅读:90045 作者:2388

如果你问

问题1:什么是压力测试

压力测试的方法,很多人可能只会回答“加线程组,合并,看结果”。 那么压力是什么,压力是从哪里出现的呢? 这些恐怕不知道。

压力是什么? 实际上在压力测试中表示为RPS

是不是有点无知? 什么是RPS呢?

RPS是每秒请求数(Request Per Second ),表示冲压引擎实际对服务器施加的压力的大小。

Rps由并发行数和服务器的响应时间决定。 并发行数过低可能无法达到预期的RPS,并发行数过高可能会增加压力,服务器直接崩溃。

问题2:jmeter怎么调节压力

前的说明中可知,压力是每秒的请求数。 让我们来了解另一个名词ramp-up-period (秒)

jmeter在线程组中具有可调整的值。 Ramp-up-period表示启动所有线程所需的时间,以秒为单位

如下图所示,以反复次数=1、Ramp-up-period=25设定了100个线程。 这意味着在25秒内启动100个线程,也就是1秒钟启动4个线程。

每个线程的启动间隔为25/100=0.25s秒,即250毫秒。

另一种理解方法表明,对服务器的压力预计是每秒发送4个请求。 也就是说,设定的RPS=4/s

如下图所示,现在不是能理解一点吗?

虽然监听程序无法直观地监视jmeter的RPS,但是请尝试通过侧面方式进行验证。

从下图右上角可以清楚地看到,我们100个线程用了25s才完全加载。 或者,使用25s终于成功发送了100个请求。 每秒的请求数为4

我们的脚本是单接口的,所以理论上,此时的TPS=HPS=RPS。 从下图可以看出我们的一些指标是4/s。

HPS

TPS

1010伙伴们在使用jmeter的时候,经常会晕throughput吗? 到处都是throughput,到底要做什么呢?

我们先来看看有什么样的throughput

元件

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

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

聚合报告中也有一个Throughput

先来理解一下什么是Throughput

Throughput是用来衡量吞吐量的指标,通常由TPS和QPS来表示。TPS表示每秒通过的事物数,QPS表示每秒查询接口数。jmeter中如果只有单接口,那么TPS=QPS。如果是多接口的混合场景,只有在事物控制器下执行,才能将其理解为TPS。

聚合报告中的 Throughput

下图Throughput表示无限迭代下的业务吞吐量TPS,大约是99/s。意思就是每秒能处理99笔事物。或者可以理解为:每秒能处理完成的请求数是99

Constant Throughput Timer

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

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

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

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

Throughput Shaping Timer

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

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

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

逻辑控制器-吞吐量控制器

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

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

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

login1的控制器分配的比例是30%,剩余的70%都分给了login2的控制器

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。