JMeter:Linux 环境中的分布式(远程)测试 [英] JMeter: Distributed (Remote) Testing in Linux Environment
问题描述
我使用 JMeter 设置了分布式负载测试环境.我正在使用 三台 Linux 机器 (RedHat)(IPs:xxx.xxx.xxx.121
,xxx.xxx.xxx.122
,xxx.xxx.xxx.123
) 使用 Windows 8.1 中的 Secured Shell.
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服务器(从)机器: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
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) 然后从那两台 Slave 机器上启动 jmeter-server(xxx.xxx.xxx.122,xxx.xxx.xxx.121strong>) 使用此命令
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=
如果您收到此错误,也应设置此项
Also this should be set if you are getting this error
错误 - jmeter.engine.ClientJMeterEngine: java.rmi.ConnectException: Connection denied to host: 127.0.0.1
ERROR - jmeter.engine.ClientJMeterEngine: java.rmi.ConnectException: Connection refused to host: 127.0.0.1
这篇关于JMeter:Linux 环境中的分布式(远程)测试的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!