JMeter:Linux环境中的分布式(远程)测试 [英] JMeter: Distributed (Remote) Testing in Linux Environment
问题描述
我使用JMeter设置了分布式负载测试环境.我正在使用Windows 8.1中的Secured Shell使用三台Linux机器(RedHat)(IP:xxx.xxx.xxx.121
,xxx.xxx.xxx.122
,xxx.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:
- 所有计算机(客户端和从属设备)都在同一子网中.
- 所有计算机都禁用了防火墙.
- 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屋!