jmeter什么要做分布式部署?
jmeter是运行在JVM虚拟机上的,当模拟大量并发时,对运行机器的性能/网络负载会很大。
此时就需要使用jmeter的分布式部署功能,实现多台被控机器同时并发访问被测系统。
原理图:
准备工作:
1.在所有机器上,安装相同版本的jmeter和JDK。
2.所有机器连接同一个网络。
3.把所有机器的防火墙关闭,否则很可能会连接失败。
步骤1:
修改master控制端:
1.修改master控制端的jmeter的bin目录下的jmeter.properties文件。
如图,在remote_hosts处添加负载机的IP+端口。
在server_port处添加本机服务器IP端口(如果控制端不作为负载机,可不添加)。
2.找到server.rmi.ssl.disable,把注释去掉,把false改为true。
步骤2:
修改slave负载机端:
1.与控制端一样,修改remote_hosts与server_port的IP端口。
该IP+端口就是之前添加在控制端remote_hosts里面的值。
2.同样找到server.rmi.ssl.disable,把注释去掉,把false改为true。
步骤3:
负载机启动server
所有slave负载机,在jmeter的bin目录下,打开jmeter-server.bat文件;
步骤4:
启动控制端master,执行性能测试。
这里为了演示,直接启动控制端的GUI(实际测试时需要使用命令行执行,下一步会讲到)。
在Run的Remote Start中,可以看到之前在控制端配置的IP,代表可选择的负载机。
执行Remote Start All,则会执行之前在控制端jmeter.properties文件中配置的所有虚拟机。
执行成功后,负载机的命令行会显示执行成功信息。
执行成功后,在控制端GUI的聚合报告可查看到执行结果。
步骤5:
使用命令行执行压力测试;
这很多人使用jmeter进行并发测试时,容易忽略了的一点:
在双击jmeter.bat文件启动GUI时,命令行已经提示,GUI仅适用于调试,不可用于负载测试。
如提示语,打开CMD命令行,输入如下:
jmeter-n-t[脚本路径]-l[结果文件路径]-e-n[web报告路径]
例如,输入:
jmeter-n-t C:UsersuserDesktopjmeterPerf.jmx-R 192.168.1.128:2088,192.168.1.114:2099-lC:UsersuserDesktopjmeter
result.txt-e-o C:UsersuserDesktopjmeterwebreport
以上就是极悦小编介绍的"JMeter分布式部署",希望对大家有帮助,想了解更多可查看JMeter教程。极悦在线学习教程,针对没有任何Java基础的读者学习,让你从入门到精通,主要介绍了一些Java基础的核心知识,让同学们更好更方便的学习和了解Java编程,感兴趣的同学可以关注一下。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习