jmeter远程多机负载进行性能测试

摘要:
启动控制器Bat上的jmeter应用程序,选择菜单“Run”--˃“Remote Start”分别启动代理,或直接选择“Remote Start All”启动所有代理。只需选择本地jmter服务器即可执行bat。3.每台机器上安装的Jmeter版本应与插件一致,否则会出现一些意外问题*将测试采样数据保存到本地机器*通过一台机器管理多个Jmeter执行引擎*每个Jmeter远程服务器执行相同的测试计划。jmeter在执行期间不会执行负载平衡。每个服务器将完全运行测试计划。

使用多台机器产生负载的操作步骤如下:

(1)确保所有的agent 机器上面都安装好了jmeter和JDK

(2) 运行所有 agent 机器上的jmeter-server 文件(假定使用两台机器192.168.9.99 和192.168.9.130 作为agent)

(3)在controller机器的jmeter的bin目录下,找到jmeter.properties 文件,编辑该文件:

查找:
remote_hosts=127.0.0.1
修改为:
remote_hosts=192.168.9.99:1099,192.168.9.130:1099 (agent机器的IP地址,多个IP用逗号隔开)

这里要特别注意端口后,有些资料说明端口1644为jmeter的controller 和agent 之间进行通信的默认RMI端口号,但是在测试时发现,设置为1644运行不成功,改成1099后运行通过。另外还要留意agent的机子是否开启了防火墙等。

(4)启动controller 机子上的jmeter应用jmeter.bat,选择菜单“运行”--->“远程启动”,来分别启动agent ,也可以直接选择“远程全部启动”来将所有的agent启动。

遇到的常见问题:

1、在Controller端上控制某台机器Run,提示"Bad call to remote host"。

解决方法:检查被控制机器上的jmeter-server有没有启动,或者JMeter.properties中remote_hosts的配置错误。
 
2、Agent机器启动Jmeter_server.bat时,后台提示:"could not find ApacheJmeter_core.jar"
解决方法:确定在Agent机器安装jdk,并设置环境变量
 
3、远程启动时,报错:
jmeter远程多机负载进行性能测试第1张

ERROR - jmeter.gui.action.RemoteStart: Failed to initialise remote engine java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is: 
java.net.ConnectException: Connection refused: connect
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source)
at sun.rmi.server.UnicastRef.newCall(Unknown Source)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at java.rmi.Naming.lookup(Unknown Source)
at org.apache.jmeter.engine.ClientJMeterEngine.getEngine(ClientJMeterEngine.java:54)
at org.apache.jmeter.engine.ClientJMeterEngine.<init>(ClientJMeterEngine.java:67)
at org.apache.jmeter.gui.action.RemoteStart.doRemoteInit(RemoteStart.java:180)
at org.apache.jmeter.gui.action.RemoteStart.doAction(RemoteStart.java:80)
at org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:81)

这个问题终于被我解决了,其实原因好简单呀。只要将本机的jmter-server.bat执行即可。要是在jmeter.properties配置的地方写了127.0.0.1 的话 就要开本机的 jmeter-sever.bat. 不写的话 就不用开了

4、查看1099端口是否被占用

netstat -ano | findstr "1099"
tasklist | findstr "1099"

其它说明:

  1、调度机(master)和执行机(slave)最好分开,由于master需要发送信息给slave并且会接收slave回传回来的测试数据,所以mater自身会有消耗,所以建议单独用一台机器作为mater。

  2、参数文件:如果使用csv进行参数化,那么需要把参数文件在每台slave上拷一份且路径需要设置成一样的。

  3、每台机器上安装的Jmeter版本和插件最好都一致,否则会出一些意外的问题。

*   保存测试采样数据到本地机器

*   通过单台机器管理多个jmeter执行引擎。

*   没有必要将测试计划复制到每一台机器,jmeter GUI客户端会将它发往每一台jmeter服务器。

*   每一台jmeter远程服务器都执行相同的测试计划,jmeter不会在执行期间做负载均衡,每一台服务器都会完整地运行测试计划。

免责声明:文章转载自《jmeter远程多机负载进行性能测试》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Groovy 学习手册(3)nginx 限制ip访问频率和限速 (摘录)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

JMeter学习(一)工具简单介绍

一、JMeter介绍 Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序)。它可以用来测试静态和动态资源的性能,例如:静态文件,Java Servlet,CGI Scripts,Java Object,数据库和FTP服务器等等。JMeter可用于模拟大量负载来测试一台服务器,网络或者对象...

maven 如何引入本地jar包

比如我下载了 一、怎么添加jar到本地仓库呢?步骤:1.cmd命令进入该jar包所在路径2.执行命令:mvn install:install-file -Dfile=lucene-queryparser-4.6.1.jar -DgroupId=org.apache.lucene -DartifactId=lucene-queryparser -Dversi...

XAMPP重要文件目录及配置

一、XAMPP 的安装过程 1:下载XAMPP 的 Linux 版 (1.7.4)http://www.apachefriends.org/en/xampp-linux.html#374 2:安装(XAMPP 被安装在 /opt/lampp 目录下) tar xvfz xampp-linux-1.7.4.tar.gz -C /opt 卸载可用: rm...

报错记录:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

以下是错误信息: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): org.ml.apply.persistence.UserInfoMapper.login at org.apache.ibatis.binding.MapperMeth...

如何用Apache POI操作Excel文件-----如何在已有的Excel文件中插入一行新的数据?

在POI的第一节入门中,我们提供了两个简单的例子,一个是如何用Apache POI新建一个工作薄,另外一个例子是,如果用Apache POI新建一个工作表。那么在这个章节里面,我将会给大家演示一下,如何用Apache POI在已有的Excel文件中插入一行新的数据。具体代码,请看下面的例子。 [java]view plaincopy importj...

Jmeter入门(4)- 注意事项

一、中文乱码问题的解决方法 1. 将HTTP请求的内容编码改成UTF-8 2. 修改配置文件jmeter.properties 将jmeter安装目录的bin目录下的jmeter.properties文件打开; 找到 sampleresult.default.encoding的值设置为UTF-8(注意:最前面的#号需要去掉); 修改了配置文件,需...