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

如何在分布式性能测试中验证JMeter的性能?

谷梁襦宗
2023-03-14

我正在做一个RESTAPI性能测试,在这里我必须同时做很多请求。为此,我使用了3个JMeter实例(1个主实例和2个从实例)。

为了让您有更多的竞争,我编写了一个包含2个线程组的JMeter脚本,每个组上有150个线程和一个恒定吞吐量计时器。

下面是我用来启动测试的命令行:

./jmeter -n -t ./script.jmx -l ./samples.csv -e -o ./dashboard -R 127.0.0.1,192.168.1.96,192.168.1.175 -Gthroughput=900000 -Gduration=10 -Gvmnb=3 -G ./API.properties

在这个命令行中,吞吐量是我针对3台服务器的总吞吐量(它的值除以vmnb,我的第三个变量,然后每个服务器执行这部分吞吐量),持续时间是测试的持续时间。

在这种情况下,应该900K恒定吞吐量(每个服务器300K)10分钟。上升周期为5分钟(持续时间/2)

现在我的问题是:

如果我理解正确,最后我的结果文件中应该有900K*10分钟=9000K个样本(根据API)。

在JMeter的仪表板上,每个url只有200K和160K个样本。即使它只能看到主服务器(我想),我也离预期的结果很远,不是吗?

仪表板图像(我还不能上传图像…)

我是否遗漏了一些东西,或者我的虚拟机出现了一些性能问题,它们无法提供高吞吐量?

我想提前感谢你们所有人的帮助,

最好的问候马克

共有1个答案

越雨泽
2023-03-14

>

假设上述情况,我建议切换到吞吐量整形定时器和并发线程组组合。它们可以通过计划反馈功能连接,因此JMeter将能够启动额外的线程来达到和保持定义的吞吐量。

还要确保遵循JMeter最佳实践,因为7500 RPS是一个相当高的负载,您需要确信JMeter能够足够快地发送请求

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

  • 我有基于jMeter的性能测试,即基于并发用户负载的结果。在测试结束时,Jeter提供了汇总报告,我们可以在其中看到平均响应时间、吞吐量等。这些都很好。 我想验证这些结果,并确信我所执行的测试在配置方面是正确的,如配置的用户数量、加速时间等。(从应用程序方面来说,我可以确认事务确实在工作,我可以信任jMeter断言等,但我在这里没有看到).. 我看到一篇关于应用利特尔定律验证结果的好文章。但我相信

  • 我正在尝试在分布式测试中设置JMeter Simple Table Server(STS)。在本地,在主控制器上,STS服务器已启动,我可以使用

  • 问题内容: 我需要针对基于位于以ELB为首的AWS中的Elastic Beanstalk的应用程序进行性能测试。我预计流量约为25 Gbit / s 根据AWS的要求,我正在使用我的AWS组织中的另一个帐户(专用于测试)。该应用程序是我的AWS组织的另一个帐户中的生产应用程序。 我的性能测试将使用生产网站的DNS条目,它将由具有Internet网关的VPC子网中的EC2实例执行。 我对带宽有疑问,

  • 我正在执行包含两个线程的Jmeter性能测试。一个线程组用于数据创建,另一个线程组用于测试。在夏季结束时.csv文件给出了这两种结果。(测试创建和测试结果)。 有没有一种方法可以让我在summery.csv文件中只有测试结果(测试线程组中的结果) 我用的是jmet3.3 我已经使用设置线程组和拆除线程组来创建数据和数据清理部分。并从那些没有帮助的threads.This中删除夏季报告。