当前位置: 首页 > 知识库问答 >
问题:

如何使用Jmeter一步一步地进行压力测试

都乐逸
2023-03-14

我想对一个网站进行压力测试。主要目的是在并发用户数和命中视频数/秒(RPS)方面找到性能下降点。

我使用了ultimate thread group,并将用户数量设置为200,加速时间为200秒。我已经为终极线程组添加了吞吐量整形计时器,并将每秒请求数设置为8。(如果我每秒钟只有一次采样器点击,那就控制得很好,是8次点击/秒。如果我有一个以上的采样器点击不受控制,他们甚至达到20,25,40等..我最终使用了恒定吞吐量计时器)

让我们回到压力测试。要找到性能下降点,就并发用户数和每秒命中数而言,我应该如何模拟负载。例如:我的网站的预期降级点是300个用户,每秒12个请求,网站的平均响应时间为800ms。但它可以支持更多的用户可能是500个用户,也可能是15个RPS。如果我想在每个样本之间增加一些延迟,我应该在哪里添加计时器,该怎么办?到线程组还是采样器?

谢了。

共有1个答案

龙俊美
2023-03-14

计时器有其作用范围。来自计时器文档:

请注意,计时器在找到它们的范围中的每个采样器之前进行处理;如果同一范围内有多个计时器,则将在每个采样器之前处理所有计时器。定时器仅与采样器一起处理。与采样器不在同一范围内的计时器将根本不会被处理。若要将计时器应用于单个采样器,请将计时器添加为采样器的子元素。计时器将在执行采样器之前应用。若要在采样器之后应用计时器,请将其添加到下一个采样器,或将其添加为测试操作采样器的子级。

所以:

  • 如果要延迟单个请求 - 将您选择的计时器作为该请求的子级。
  • 如果您的目标是延迟所有请求 - 将计时器放在与请求相同的级别
  • 如果要延迟请求的某些部分 - 将它们移动到简单控制器下

类似的情况在如何在3个简单步骤中使用JMeter断言指南中强调:

唯一的区别是定时器在采样器之前被处理,断言在采样器之后被执行

 类似资料:
  • 我想进行压力测试,从预期的用户数开始(或从1个虚拟用户开始),然后逐渐增加负载,例如10个线程、20个线程等等…。100个线程,直到响应时间开始超过可接受的值或开始出现错误。但是对于所有这些测试运行,我应该增加爬升周期(秒),还是所有测试都保持不变?图片如下:

  • 问题内容: 随着去除传统的C风格的for循环雨燕3.0的,我该怎么办下面? 在Python中,for-in控制流语句具有可选的step值: 但是Swift范围运算符似乎没有等效项: 问题答案: “步骤”的Swift同义词是“跨步”(stride)- 实际上是可跨步协议,由许多常见的数值类型实现。 等效于: 或者,要获取等价的,请使用变体: 请注意,返回/ ,这符合,所以任何你可以用序列做,你可以用

  • 压力测试很有趣,一开始好像压测的目的是找出系统在负载下能不能工作。现实中,系统在负载下确实能工作,但在负载足够重的某些情况下不能工作。我把这叫做碰壁或撞响[1]。可能会有例外,但大多数情况下会有这么一堵“墙”。压测的目的是为了指出墙在哪里,然后弄清楚怎么把墙移得更远些。 压测计划需要在工程的早期就规划好,因为它经常有助于弄清楚到底什么是被期望的。两秒的网页请求是一个悲伤的失败还是一个了不起的成功?

  • 问题内容: 我正在尝试使用的插件(jmeter- websocket )对服务器进行压力测试。关键是该插件没有附带文档说明如何使用它,因此我不确定是否支持我的期望。 我设法使用提到的插件运行了一个示例测试,它已成功连接到服务器。它也设法与服务器进行通信,但是一旦完成接收到第一个响应,它就会断开连接。我希望以某种方式配置此插件,以便它将与服务器保持持久的连接几分钟,在断开连接之前发送和接收一些消息。

  • 嗨,我是JMeter的新手,我知道如何使用JMeter执行负载测试。我试图弄清楚压力测试或容量测试是如何通过JMeter执行的。是不是通过逐渐增加JMeter中的线程数,我们可以确定何时出现性能问题,并获得阈值,在阈值以上运行测试。那它会做压力测试吗? 在如何执行压力测试和能力测试与Jeter工具混淆。