JMeter:Linux环境中的分布式(远程)测试 [英] JMeter: Distributed (Remote) Testing in Linux Environment

查看:373
本文介绍了JMeter:Linux环境中的分布式(远程)测试的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用JMeter设置了分布式负载测试环境.我正在使用Windows 8.1中的Secured Shell使用三台Linux机器(RedHat)(IP:xxx.xxx.xxx.121xxx.xxx.xxx.122xxx.xxx.xxx.123).

I setup a distributed load testing environment using JMeter. I am using Three Linux Machines (RedHat)(IPs:xxx.xxx.xxx.121,xxx.xxx.xxx.122,xxx.xxx.xxx.123) using Secured Shell from my Windows 8.1.

我已经满足执行分布式测试的先决条件:

I have fulfilled the prerequisite to perform Distributed test:

  1. 所有计算机(客户端和从属设备)都在同一子网中.
  2. 所有计算机都禁用了防火墙.
  3. JMeter(2.13)和JDk版本(1.6.0_25)都相同.

Client(Master) Machine :xxx.xxx.xxx.123 Server(Slave) Machines: xxx.xxx.xxx.122,xxx.xxx.xxx.121

Client(Master) Machine :xxx.xxx.xxx.123 Server(Slave) Machines: xxx.xxx.xxx.122,xxx.xxx.xxx.121

我做了以下事情:

1)向客户端(主) jmeter.properties 文件中添加了以下内容:

1) Added the following to client (master) jmeter.properties file:

remote_hosts= xxx.xxx.xxx.122,xxx.xxx.xxx.121

remote_hosts= xxx.xxx.xxx.122,xxx.xxx.xxx.121

2)在服务器(在每个从属计算机中) jmeter-server 中添加了以下内容:

2) Added the following to servers (in each slave machines) jmeter-server:

RMI_HOST_DEF=-Djava.rmi.server.hostname=xxx.xxx.xxx.123 (客户端计算机IP)

RMI_HOST_DEF=-Djava.rmi.server.hostname=xxx.xxx.xxx.123(Client Machine IP)

3),然后从这两台从属机器( xxx.xxx.xxx.122,xxx.xxx.xxx.121 )使用此命令

3) Then started jmeter-server from those two Slave machines(xxx.xxx.xxx.122,xxx.xxx.xxx.121) using this command

./jmeter-server

并获得输出.这意味着从属计算机已启动.

and get following output.Which means the slave machines are started.

xxx.xxx.xxx.121的输出:

Created remote object: UnicastServerRef [liveRef: [endpoint:[xxx.xxx.xxx.123:41864](local),objID:[1707296d:154c281318b:-7fff, -8101068266055605468]]]

xxx.xxx.xxx.122的输出:

Using local port: 4000
Created remote object: UnicastServerRef [liveRef: [endpoint:[xxx.xxx.xxx.123:4000](local),objID:[-2a2acf13:154c285ffa2:-7fff, 2939294752655639469]]]

现在,我从客户端计算机(xxx.xxx.xxx.123)运行了以下命令,以启动远程测试.

Now I ran the following command from client machine(xxx.xxx.xxx.123) to start remote tests.

./jmeter -n -t RemoteTest.jmx -r

它为我提供了以下输出:

It provided me with the following output:

Creating summariser <summary>
Created the tree successfully using RemoteTest.jmx
Configuring remote engine: xxx.xxx.xxx.121
Configuring remote engine: xxx.xxx.xxx.122
Starting remote engines
Starting the test @ Wed May 18 06:27:52 GMT 2016 (1463552872376)
Error in rconfigure() method java.rmi.ConnectException: Connection refused to host: xxx.xxx.xxx.123; nested exception is: 
        java.net.ConnectException: Connection refused
Error in rconfigure() method java.rmi.ConnectException: Connection refused to host: xxx.xxx.xxx.123; nested exception is: 
        java.net.ConnectException: Connection refused
Remote engines have been started

jmeter.log文件(xxx.xxx.xxx.123)的输出

2016/05/18 06:52:22 INFO  - jmeter.util.JMeterUtils: Setting Locale to en_GB 
2016/05/18 06:52:22 INFO  - jmeter.JMeter: Loading user properties from: /usr/apache-jmeter-2.13/bin/user.properties 
2016/05/18 06:52:22 INFO  - jmeter.JMeter: Loading system properties from: /usr/apache-jmeter-2.13/bin/system.properties 
2016/05/18 06:52:22 INFO  - jmeter.JMeter: Copyright (c) 1998-2015 The Apache Software Foundation 
2016/05/18 06:52:22 INFO  - jmeter.JMeter: Version 2.13 r1665067 
2016/05/18 06:52:22 INFO  - jmeter.JMeter: java.version=1.6.0_25 
2016/05/18 06:52:22 INFO  - jmeter.JMeter: java.vm.name=Java HotSpot(TM) 64-Bit Server VM 
2016/05/18 06:52:22 INFO  - jmeter.JMeter: os.name=Linux 
2016/05/18 06:52:22 INFO  - jmeter.JMeter: os.arch=amd64 
2016/05/18 06:52:22 INFO  - jmeter.JMeter: os.version=2.6.32-358.el6.x86_64 
2016/05/18 06:52:22 INFO  - jmeter.JMeter: file.encoding=UTF-8 
2016/05/18 06:52:22 INFO  - jmeter.JMeter: Default Locale=English (United Kingdom) 
2016/05/18 06:52:22 INFO  - jmeter.JMeter: JMeter  Locale=English (United Kingdom) 
2016/05/18 06:52:22 INFO  - jmeter.JMeter: JMeterHome=/usr/apache-jmeter-2.13 
2016/05/18 06:52:22 INFO  - jmeter.JMeter: user.dir  =/usr/apache-jmeter-2.13/bin 
2016/05/18 06:52:22 INFO  - jmeter.JMeter: PWD       =/usr/apache-jmeter-2.13/bin 
2016/05/18 06:52:22 INFO  - jmeter.JMeter: IP: 127.0.0.1 Name: Switch018 FullName: localhost.localdomain 
2016/05/18 06:52:22 INFO  - jmeter.services.FileServer: Default base='/usr/apache-jmeter-2.13/bin' 
2016/05/18 06:52:22 INFO  - jmeter.services.FileServer: Set new base='/usr/apache-jmeter-2.13/bin' 
2016/05/18 06:52:22 INFO  - jmeter.save.SaveService: Testplan (JMX) version: 2.2. Testlog (JTL) version: 2.2 
2016/05/18 06:52:22 INFO  - jmeter.save.SaveService: Using SaveService properties file encoding UTF-8 
2016/05/18 06:52:22 INFO  - jmeter.save.SaveService: Using SaveService properties file version 1656252 
2016/05/18 06:52:22 INFO  - jmeter.save.SaveService: Using SaveService properties version 2.8 
2016/05/18 06:52:22 INFO  - jmeter.save.SaveService: All converter versions present and correct 
2016/05/18 06:52:22 INFO  - jmeter.save.SaveService: Loading file: RemoteTest.jmx 
2016/05/18 06:52:22 INFO  - jmeter.protocol.http.control.CookieManager: Settings: Delete null: true Check: true Allow variable: true Save: false Prefix: COOKIE_ 
2016/05/18 06:52:22 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Cannot find .className property for htmlParser, using default 
2016/05/18 06:52:22 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/html is  
2016/05/18 06:52:22 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for application/xhtml+xml is  
2016/05/18 06:52:22 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for application/xml is  
2016/05/18 06:52:22 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/xml is  
2016/05/18 06:52:22 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/vnd.wap.wml is org.apache.jmeter.protocol.http.parser.RegexpHTMLParser 
2016/05/18 06:52:23 INFO  - jmeter.JMeter: Creating summariser <summary> 
2016/05/18 06:52:23 INFO  - jmeter.engine.DistributedRunner: Configuring remote engine: xxx.xxx.xxx.121 
2016/05/18 06:52:23 INFO  - jmeter.engine.DistributedRunner: Configuring remote engine: xxx.xxx.xxx.122 
2016/05/18 06:52:23 INFO  - jmeter.engine.DistributedRunner: Starting remote engines 
2016/05/18 06:52:23 INFO  - jmeter.engine.DistributedRunner: Starting the test @ Wed May 18 06:52:23 GMT 2016 (1463554343104) 
2016/05/18 06:52:23 INFO  - jmeter.engine.ClientJMeterEngine: running clientengine run method 
2016/05/18 06:52:23 INFO  - jmeter.engine.util.CompoundVariable: Note: Function class names must contain the string: '.functions.' 
2016/05/18 06:52:23 INFO  - jmeter.engine.util.CompoundVariable: Note: Function class names must not contain the string: '.gui.' 
2016/05/18 06:52:23 INFO  - jmeter.samplers.SampleEvent: List of sample_variables: [] 
2016/05/18 06:52:23 INFO  - jmeter.samplers.BatchSampleSender: Using batching (client settings) for this run. Thresholds: num=100, time=60000 
2016/05/18 06:52:23 INFO  - jmeter.samplers.DataStrippingSampleSender: Using DataStrippingSampleSender for this run 
2016/05/18 06:52:23 INFO  - jmeter.samplers.BatchSampleSender: Using batching (client settings) for this run. Thresholds: num=100, time=60000 
2016/05/18 06:52:23 INFO  - jmeter.samplers.DataStrippingSampleSender: Using DataStrippingSampleSender for this run 
2016/05/18 06:52:23 ERROR - jmeter.engine.ClientJMeterEngine: Error in rconfigure() method java.rmi.ConnectException: Connection refused to host: xxx.xxx.xxx.123; nested exception is: 
        java.net.ConnectException: Connection refused 
2016/05/18 06:52:23 INFO  - jmeter.engine.ClientJMeterEngine: Interrupting RMI Reaper 
2016/05/18 06:52:23 INFO  - jmeter.engine.ClientJMeterEngine: running clientengine run method 
2016/05/18 06:52:23 INFO  - jmeter.samplers.BatchSampleSender: Using batching (client settings) for this run. Thresholds: num=100, time=60000 
2016/05/18 06:52:23 INFO  - jmeter.samplers.DataStrippingSampleSender: Using DataStrippingSampleSender for this run 
2016/05/18 06:52:23 INFO  - jmeter.samplers.BatchSampleSender: Using batching (client settings) for this run. Thresholds: num=100, time=60000 
2016/05/18 06:52:23 INFO  - jmeter.samplers.DataStrippingSampleSender: Using DataStrippingSampleSender for this run 
2016/05/18 06:52:23 ERROR - jmeter.engine.ClientJMeterEngine: Error in rconfigure() method java.rmi.ConnectException: Connection refused to host: xxx.xxx.xxx.123; nested exception is: 
        java.net.ConnectException: Connection refused 
2016/05/18 06:52:23 INFO  - jmeter.engine.DistributedRunner: Remote engines have been started

那么,解决此异常的确切解决方案是什么. 最近两天,我一直在探索 StackOverflow Stack Exchange 来解决类似的问题,并且已经尝试了几乎所有可能的解决方案,但仍然无法摆脱这种异常.实际上,我失败了!!!!!! 所以请具体和详细地回答您.

So what could be the exact solution to overcome this Exception. I have spent the last two days exploring StackOverflow and Stack Exchange for similar kind of questions and already tried almost all of the possible solutions but still can't get rid of this exception.Actually, I failed!!!!So please be specific and detail at your answers.

推荐答案

RMI_HOST_DEF=-Djava.rmi.server.hostname=xxx.xxx.xxx.123 应该是

RMI_HOST_DEF=-Djava.rmi.server.hostname=localhost 

RMI_HOST_DEF=-Djava.rmi.server.hostname=<ip of jmeter server>

如果遇到此错误,也应该设置

Also this should be set if you are getting this error

错误-jmeter.engine.ClientJMeterEngine:java.rmi.ConnectException:拒绝主机托管:127.0.0.1

ERROR - jmeter.engine.ClientJMeterEngine: java.rmi.ConnectException: Connection refused to host: 127.0.0.1

这篇关于JMeter:Linux环境中的分布式(远程)测试的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆