ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

JMETER远程运行_多机联合负载

2019-07-03 13:42:50  阅读:295  来源: 互联网

标签:负载 JMETER 测试 远程 控制机 多机 执行 JMeter


JMETER远程运行_多机联合负载

  远程运行是用一台JMeter控制机控制远程的多台机器来产生负载。控制机与负载机之间通过RMI方式来完成通信。在负载机上运行Agent程序(启动命令是%JMETER_%\bin\jmeter-sever.bat),在JMeter控制机上单机远程启动按钮运行远程负载机。

很多时候,我们测试时,如果进行大数据量的并发测试时,单个电脑的CPU和内存可能无法承受,这个时候,我们需要进行一个分布式的测试,比如10000个并发,使用三台电脑来进行并发,Jmeter提供了这种功能,你可以很轻松的实现Jmeter的这种分布式测试

一、JMeter分布式执行原理

JMeter分布式执行原理如下图所示:

 

 

调度机(Controller):主要负责性能测试脚本的分发,及各个执行机(Slave)的测试结果收集汇总,报告产出。

执行机(Slave):主要负责执行性能测试脚本及断言等(命令行模式执行,无界面),并将执行结果反馈给调度机(Controller),若断言执行成功则不返回请求响应数据及详细断言信息。

   作用:多机联合负载

-p:指定读取JMeter属性文件,比如JMeter.properties文件中设置的

-l:记录测试结果到文件,指定名称与路径,可以是相对或绝对路径

-s:以服务器方式运行(远程方式)

-r:开启远程负载机,远程负载机列表在JMeter.properties文件中指定

-R:开启远程负载机,可以指定负载机IP,会覆盖JMeter.properties中的设置

-L:定义JMeter的日志级别,如DEBUG、INFO、

 

 

 

操作步骤如下:

1 首先确何所有的电脑上都安装Jmeter,最好版本相同

2、 在负载机上部署JMeter,确保JMeter的bin目录下存在ApacheJMeter.jar与JMeter-server.bat两个文件。双击启动负载机的JMeter-server.bat程序。

注意:1.所要运行的不要开启,哪些是用来做负载的才开启服务模式,此模式没有界面,只有控制台

2.JMeter版本保持一致

3.JDK版本保持一致,否则可能出现各种其他的问题

 

3、 在你所想要操作的电脑上,以jmeter.bat命令来启动图形化的jmeter界面,编辑jmeter.properties(配置文件在bin目录下),搜索remote_hosts,进行修改

remote_hosts=127.0.0.1,192.168.0.102 #remote_hosts=localhost:1099,localhost:2010

在JMeter控制机的bin目录下找到JMeter.properties文件并修改”remote_hosts”,增加负载机IP,多个IP使用英文逗号隔开,修改后要重启JMeter。

  如下图:

                    

 

 

              

4、进入JMeter控制机的GUI图形界面,远程运行点击按钮即可。点击后,JMeter控制机会自动探测,只要先启动远程负载机上的Agent,开始运行测试计划时就会自己连接负载机去完成。

5、如果要停止,点击上面右图的后面两个按钮即可。前者是执行完成当前迭代停止(比如脚本中有5个请求,在运行第2个的时候收到停止命令,那么将继续执行完5个请求然后再停止),后者是立即终止。

注意:远程运行的脚本如果有参数化文件,脚本有依赖包时,需要手工把这些参数文件、依赖包拷贝到远程机器上。

总样本数 = 线程数 * 循环次数 * 执行机总数

样本计数逻辑:由 JMeter分布式执行原理可知,执行机(Slave)执行的测试脚本是由调度机(Controller)分发的,故每台执行机执行的测试脚本都是相同的,故而性能测试总样本数 = 测试脚本样本数 * 执行机总数。

 

备注:设置127.0.0.1,需要控制机也启动 bin 目录下的 JMeter-server.bat 。

 

标签:负载,JMETER,测试,远程,控制机,多机,执行,JMeter
来源: https://www.cnblogs.com/jingdenghuakai/p/11125870.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有