Jmeter之分布式部署测试
在使用Jmeter进行性能测试时,因受单机电脑的配置限制,可能无法支持较大数量的并发,此时就需要使用Jmeter提供的分布式测试的功能。
jmeter分布式测试的执行原理是选择一台作为调度机,其他机器作为执行机,在执行时调度机即将脚本发送到每一台执行机上,执行机在得到脚本后开始执行,执行机在执行的时候不用启动GUI,使用的是命令行执行模式。在执行完成后,执行机会将执行结果返回给调度机,调度机收集所有的执行机返回信息并汇总生成测试报告。
具体部署步骤如下:
1、执行机部署
1)在执行机上安装Jmeter
注意:Jmeter的版本和JDK的版本,最好同调度机一致,不然有可能出现一些诡异的问题。
2)添加环境变量。根据系统其配置不同(windows/linux)
3)启动执行机。(如果是windows:在bin目录下,输入jmeter-server.bat;如果是linux:在bin目录下,输入jmeter-server)
------jmeter默认使用端口:1099,如果需要修改为其他的,可以再jmeter.properties文件修改,server_port和server,rmi.localport
2、调度机配置
1)在jmeter.properties文件中,修改远程主机地址和IP
remote_hosts=IP1:port1,IP2:port2
注意:在执行机上修改了jmeter默认的端口(1099),在修改远程主机地址时,需要配置相应的端口号,如果未修改,使用默认值时,可以不用设置端口(如:remote_hosts=IP1,IP2)。
2)启动远程
在启动时可以通过GUI模式和命令行模式两种
(1、GUI模式如下:
分为:远程启动和远程全部启动,在远程启动中,可以选择任意配置的执行机;选择远程全部启动,就会在你说配置的所有执行机上,去启动运行。
(2、命令行模式如下:
在命令行模式中,添加:
-R:远程执行机的IP(ip地址)如果有多个ip时,使用-R 192.168.2.170,192.168.2.171(分布式使用)
-r:标识执行所有远程。(分布式使用)
如:
jmeter.bat -n -t E:\apache-jmeter-all\te.jmx -R 192.168.2.170 -l E:\apache-jmeter-all\testlog\test050701.jtl
问题:在使用分布式部署时,有可能存在控制机的查看结果树中,没有响应信息显示。此时需要修改:jmeter.properties文件