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

JMeter远程测试问题

轩辕庆
2023-03-14

我正在LinuxCLI模式下对两台从机进行远程测试。我已经在主机和从机上设置了如下的rmi端口。我可以从主从机远程登录到端口8080/1099,反之亦然。防火墙已为这些端口打开。

jmeter.properties:client.rmi.localport=1099

jmeter.properties:server.rmi.localport=8080

我在主节点和从节点上启动了 jmeter 服务器

   ./jmeter-server -Djava.rmi.server.hostname=10.132.89.172 (Master)
   ./jmeter-server -Djava.rmi.server.hostname=10.132.91.141 (Slave 1)
  ./jmeter-server -Djava.rmi.server.hostname=10.132.88.44 (Slave 2)

我试图在主节点上使用以下命令触发测试

JMeter-n-Jthread=10-Jrampup=30-J持续时间=60-Jiterations=-1-tsampletest.jmx-R10.132.91.141,10.132.88.44-Djava.rmi.server.hostname=10.132.89.172-Dclient.rmi.localport=1099

我有以下问题。

>

  • 在主节点上记录“使用远程引擎启动分布式测试”后,需要大约10分钟才能记录“在主机10.132.91.141上启动测试”,并且在从1上启动触发请求有很多延迟,在从2上启动有更多延迟。

    在从属节点(jmet服务器.log)上,我看到主节点的连接被拒绝错误。java.rmi.连接异常: 连接拒绝托管: 10.132.89.172

    即使在将HEAP更改为xmx10g之后,Slave节点上的内存usgage仍会不断增加,并导致OutOfMemory错误。

    主节点卡在这一步,再也不会回来了。

    在端口4445上等待可能的关机/StopTestNow/HeapDump/ThreadDump消息

    感谢任何解决问题的建议。

  • 共有1个答案

    虞航
    2023-03-14

    不要在主机上运行jmeter服务器

    您可以执行以下步骤:

    > < li>

    将您的从属机器IP(< code > 10 . 132 . 91 . 141,10.132.88.44)添加到< code>jmeter.properties文件中。

    remote_hosts= 10.132.91.141, 10.132.88.4

    将以下内容添加到每个从属机器 jmeter-服务器文件中:

    RMI_HOST_DEF=-Djava.RMI.server。主机名=ip_of_jmeter_server

    从那两台从机启动jmeter-server

    ./jmeter-server

    从主计算机运行测试

    JMITER-n-Gthread=10-Grampup=30-G持续时间=60-Giterations=-1-tsampletest.jmx-r

    对要发送到所有远程服务器的Jmeter属性使用-G标志。查看有关通过命令行覆盖属性的文档

    仔细检查您是否已满足执行分布式测试的所有先决条件:

    All machines(Master & Slaves) are in the same subnet.
    The firewall is disabled for all machines.
    JMeter and JDK versions are the same for all machines.
    
     类似资料:
    • 在JMeter分布式测试中使用非GUI模式时,如何更改所有从机的堆大小? 我想从主机器触发这个。C:\jeter\bin\jmeter.bat-n-t C:\test.jmx-Juser=10000-R192.168.0.19,192.168.0.29…… 我可以在这里传递一些参数,以便从主机器更改所有从机器的堆大小吗?

    • 我正在一个网络接口上使用1台主机(192.168.0.1)和7台带有3个VM(192.168.0.2到192.168.00.4)的从机执行JMeter远程测试,其他4个VM(92.168.0.5到192.168.8.8)位于不同的网络接口上。 我的JMeter脚本位于主机器 - 192.168.0.1 我尝试使用以下命令执行测试 然而,测试从未开始。屏幕刚刚挂起,15分钟后我不得不停止测试。我只使

    • 我按照以下教程为Jeter设置了一个分布式测试环境: https://www.perfmatrix.com/configuration-process-for-distributed-testing-in-jmeter-5-3/ 我已经设法启动了远程(从属)服务器,然后在非GUI模式下从主计算机触发测试。 但它不想完成处决…这是什么原因? (我两台机器都在用Jeter 5.4版,而且在同一个网络,

    • 我试图直接从我的Java代码运行JMeter测试。应该通过JMeter服务器产生负载。在代码中,我使用连接到服务器上运行的JMeter守护进程的ClientJMeterEngine实例。这工作到目前为止,我可以开始和运行我的测试。我目前不明白的是如何从测试运行完成后获得结果。我当前的代码如下所示: 客户端线程必须保持运行状态,以便客户端上的ResultCollector能够从服务器接收结果。我现在

    • 当我在远程从属机器上通过jenkins运行jmeter测试时,我不断收到此错误(错误代码如下): 现在我当前机器的POM设置: 如果我从JMETER GUI运行测试,一切正常,远程主机启动并成功执行测试。 我认为一切都设置正确,jmeter服务器。bat在每个从机上运行测试之前启动。 我也不明白jmeter maven插件wiki上的这句话: runremote命令被发送到JMeter,当您的第一

    • 我的JMeter测试应该将文件上传到web服务。 上载请求在标头中包含用户名和文件名。用户名和文件名列在 CSV 文件中。 在我的本地机器上,jmx文件、csv文件和所有测试数据都在同一个目录中。这个测试在这里非常有效。 然而,如果我启动测试远程,远程机器使用正确的用户名和文件名,但找不到文件,因为它显然不在JMeter的BaseDir中。 有没有将测试数据发送到远程服务器的最佳实践,或者我每次都