jmeter性能测试如何实现分布式部署

jmeter什么要做分布式部署?

jmeter是运行在JVM虚拟机上的,当模拟大量并发时,对运行机器的性能/网络负载会很大。

此时就需要使用jmeter的分布式部署功能,实现多台被控机器同时并发访问被测系统。

原理图:

jmeter性能测试如何实现分布式部署_第1张图片

准备工作:

1.在所有机器上,安装相同版本的jmeter和JDK。

2.所有机器连接同一个网络。

3.把所有机器的防火墙关闭,否则很可能会连接失败。

4.修改每台机器的jmeter内存配置:

 安装jmeter后,如果执行的线程数过高时,会报错内存溢出,所以需要先把默认内存配置调高;

在windows系统下,编辑jmeter.bat文件,根据实际配置修改:

jmeter性能测试如何实现分布式部署_第2张图片

步骤1:

修改master控制端:

1.修改master控制端的jmeter的bin目录下的jmeter.properties文件。

如图,在remote_hosts处添加负载机的IP+端口。

在server_port处添加本机服务器IP端口(如果控制端不作为负载机,可不添加)。

jmeter性能测试如何实现分布式部署_第3张图片

2.找到server.rmi.ssl.disable,把注释去掉,把false改为true。

jmeter性能测试如何实现分布式部署_第4张图片

步骤2:

修改slave负载机端:

1.与控制端一样,修改remote_hosts与server_port的IP端口。

该IP+端口就是之前添加在控制端remote_hosts里面的值。

jmeter性能测试如何实现分布式部署_第5张图片

2.同样找到server.rmi.ssl.disable,把注释去掉,把false改为true。

jmeter性能测试如何实现分布式部署_第6张图片

步骤3:

负载机启动server

所有slave负载机,在jmeter的bin目录下,打开jmeter-server.bat文件; 

jmeter性能测试如何实现分布式部署_第7张图片

步骤4:

启动控制端master,执行性能测试。

这里为了演示,直接启动控制端的GUI(实际测试时需要使用命令行执行,下一步会讲到)。

在Run的Remote Start中,可以看到之前在控制端配置的IP,代表可选择的负载机。

执行Remote Start All,则会执行之前在控制端jmeter.properties文件中配置的所有虚拟机。

jmeter性能测试如何实现分布式部署_第8张图片

执行成功后,负载机的命令行会显示执行成功信息。

jmeter性能测试如何实现分布式部署_第9张图片

执行成功后,在控制端GUI的聚合报告可查看到执行结果。

jmeter性能测试如何实现分布式部署_第10张图片

步骤5:

使用命令行执行压力测试;

这很多人使用jmeter进行并发测试时,容易忽略了的一点:

在双击jmeter.bat文件启动GUI时,命令行已经提示,GUI仅适用于调试,不可用于负载测试。

jmeter性能测试如何实现分布式部署_第11张图片

如提示语,打开CMD命令行,输入如下:

jmeter -n -t [脚本路径] -l [结果文件路径] -e -n [web报告路径]

例如,笔者输入:

 jmeter -n -t C:\Users\user\Desktop\jmeterPerf.jmx -R 192.168.1.128:2088,192.168.1.114:2099 -lC:\Users\user\Desktop\jmeter\

result.txt -e -o C:\Users\user\Desktop\jmeter\webreport

jmeter性能测试如何实现分布式部署_第12张图片

使用命令行执行完并发性能测试后,即可在填写的路径下打开报告查看

jmeter性能测试如何实现分布式部署_第13张图片

可能存在的报错:

1. Connection refused:connect 可能是防火墙未关闭,把控制机和负载机的防火墙都关闭即可。

jmeter性能测试如何实现分布式部署_第14张图片

2. Connection timed out 连接超时,可能机器未在同一个局域网,或者填写的IP端口错误。

检查是否IP+端口是否正确,检查负载机的server_port是否设置,是否存在冲突被占用。

jmeter性能测试如何实现分布式部署_第15张图片

3.Engine is busy 可能是异常退出等,导致被控负载机一直执行之前的测试,未释放进程。

可以尝试关闭负载机的java.exe进程,如果还不行,建议直接重启机器。

jmeter性能测试如何实现分布式部署_第16张图片

最后:【可能给你带来帮助的教程】jmeter性能测试如何实现分布式部署_第17张图片

 这一些资料,对做【软件测试】的朋友而言应该是较为完整了,这类学习资料也陪伴我走过了最艰难的路程,希望也可以帮助到你!万事要尽早,尤其是技术行业,一定要提升技术功底。
以上软件测试资料领取小伙伴可以通过点击下面的小卡片

jmeter性能测试如何实现分布式部署_第18张图片

你可能感兴趣的:(java,linux,服务器)