Jmeter执行多机联合负载

1、注意事项,负载机必须要安装jre,控制机则必须安装jdk。要配置同网段ip,双向关闭防火墙。

每个负载机要平均承担线程数。

具体执行事项查看上面截图所示,控制机和负载机配置。

2、先给负载机设置ip地址,保持与控制机同一网段。并且关闭控制机与负载机的防火墙。

3、为负载机和控制机虚拟ip,我这边设置总并发量为两百,那么负载机和控制机就各设置一百个

注意:"WLAN 控制机" 是为自己电脑的Internet链接名称,连接名是什么就写什么。

复制代码
rem 控制机添加99个虚拟ip  从172.16.0.1到172.16.0.100
for /L %%i in (1,1,100) do netsh interface ip add address "WLAN 控制机" 172.16.0.%%i 255.255.0.0

在为电脑添加虚拟ip的同时也可以将ip快速添加到txt文件中,已备后续jmeter引用ip,写入代码如下

复制代码
//将172.16.0.211 ip地址写入到ips.txt文件中,通过for循环将从1开始到100的ip地址写入到ips.txt文件中
echo 172.16.0.211>ips.txt
for /L %%i in (1,1,100) do echo 172.16.0.%%i>>ips.txt

当虚拟ip使用完成后需要快速删除时,可通过如下代码;注意删除的时候不要多删除了,不然会导致蓝屏 ,保险起见可以两边都剩余几个ip不删,通过手动删除。

复制代码
rem 快速删除ip
for /L %%i in (1,1,100) do netsh interface ip delete address "WLAN 控制机" 172.16.0.%%i

引用参考:

4、以上是控制机的虚拟ip的生成以及虚拟ip调用txt文件生成还有快速删除虚拟ip的方式,负载机一样,如下是快速生成虚拟ip代码,以及快速将虚拟ip写入到txt文件中用于被jmeter调用

注意:虚拟ip文件中最后面不要有空行,jmeter调用的参数文件最后不可以有空行。负载机和控制机引用的ip文件必须同名且存放路径保持一致,最后都放在/bin路径下(如果有其他的调用参数文件也一样,文件名和存放路径必须都一致)。

复制代码
rem 负载机添加99个虚拟ip  从172.16.0.101到172.16.0.199
for /L %%i in (101,1,199) do netsh interface ip add address "WLAN 控制机" 172.16.0.%%i 255.255.0.0
//将172.16.0.212 ip地址写入到ips.txt文件中,通过for循环将从101开始到2199的ip地址写入到ips.txt文件中
echo 172.16.0.212>ips.txt
for /L %%i in (101,1,199) do echo 172.16.0.%%i>>ips.txt

5、至此就已经把控制机和负载机的虚拟ip和ip引用的txt文件就配置完成后了。接下来就修改参数文件位置以及修改脚本了,首先需要将脚本文件以及账号密码引用参数文件和虚拟ip地址引用参数文件都分别放在虚拟机和控制机中jemter中/bin路径下。Webtours文件夹是在bin路径下面新建的,用于存放脚本和参数文件。控制机和负载机要保持一致。

6、当把脚本和参数文件存放位置安排好后,需要修改jmeter脚本,引用ip地址和用户密码参数文件,通过CSV Data Set Config组件来引用参数文件。

引用虚拟ipz参数文件,设置引用名称为cip

引用账号密码参数文件

7、在测试计划中添加http请求默认值在高级tab页中的主机名进行引用虚拟ip:输入${cip}

8、在登陆接口处引用用户名和密码参数 通过{yhm}和{mm}进行引用

9、当配置好代码后,需要搭建负载机环境,只需要安装jre即可。下载jre安装包后直接下一步按钮即可,不需要配置环境变量

10、将jmeter软件复制到负载机中,存放路径一定要与控制机保持一致。

保证负载机与控制机的这个路径都是一致的。引用参数文件也要是一致的。

11、接下来要在控制机中的jmeter设置运行远程负载机,在jmeter中找到jmeter.properties文件。搜索"remote_hosts",输入负载机的"IP:1099",重启jmeter生效,本机直接写ip或127均可,我这边写的是ip:1099

该文件在/bin目录下。修改该文件后,要重新打开jmeter。

12、修改好jmeter.properties文件后。如果控制机也执行负载的话,则控制机和负载机都需要点击打开imeter-server.bat。如下图所示。

13、接下来再控制机中的jmeter中设置线程数,点击线程组,在线程树中设置100,参数文件的引用最好都使用相对路径 ./

14、配置好jmeter后,点击顶部的运行-远程启动,会显示负载机和控制机的ip,

如果只需要一个机器运行则选择其中一个点击即可,如果需要负载机和控制机都运行则需要点击远程全部启动按钮。

15、我这边是需要控制机和负载机都运行负载,因此点击远程全部启动,点击运行后可以看到之前步骤12中点击imeter-server.bat显示的窗口会显示Starting....,负载机和控制机都有显示Starting就代表都启动运行成功了。

16、负载运行结束后,负载机和控制机中的imeter-server.bat的窗口都会显示Finished.....

17、至此 jmeter的多机联合负载就已经配置完成了,如果需要添加资源监控以及其他监控可以在监控器中添加需要的组件。注意,组件的添加以及保存的路径也要一致。

相关推荐
测试人社区-千羽2 小时前
48小时攻克测试岗——闪电面试极速备战手册
人工智能·python·opencv·面试·职场和发展·单元测试·压力测试
hgz07104 小时前
JMeter性能压测执行与Linux环境部署
java·linux·jmeter
2501_924064117 小时前
如何测试接口最大并发量及推荐实用工具
测试工具
玩转数据库管理工具FOR DBLENS8 小时前
DBLens:开启数据库管理新纪元——永久免费,智能高效的国产化开发利器
数据结构·数据库·测试工具·数据库开发
2501_924064119 小时前
高并发系统卡顿?全链路压测平台如何精准定位性能瓶颈
功能测试·压力测试
微尘hjx10 小时前
【目标检测软件 01】YOLO识别软件功能与操作指南
人工智能·测试工具·yolo·目标检测·计算机视觉·ai·pyqt
测试人社区-千羽11 小时前
Apple自动化测试基础设施(XCTest/XCUITest)面试深度解析
运维·人工智能·测试工具·面试·职场和发展·自动化·开源软件
测试人社区—小叶子11 小时前
移动开发新宠:用Flutter 4.0快速构建跨平台应用
运维·网络·人工智能·测试工具·flutter·自动化
数据科学小丫13 小时前
浏览器 driver (Chrome & Edge)驱动安装、Selenium 安装,使用Selenium进行网页自动化操作与数据抓取(Edge)
selenium·测试工具·自动化