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

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

问题描述

我使用 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:

  1. 所有机器(客户端和从机)都在同一个子网中.
  2. 对所有机器禁用防火墙.
  3. 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

那么克服此异常的确切解决方案是什么.过去两天我一直在探索 StackOverflowStack 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屋!

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