Jmeter 分布式压测概念+配置

8 篇文章 0 订阅
6 篇文章 0 订阅

为什么要做分布式压测呢?

在实际工作中, Jmeter 可能需要虚拟上千个并发用户,而每台电脑实际能虚拟的线程数是有限的

java.net.BindException: Address already in use: connect

上面 Jmeter 的这个报错信息,就是具体的表现(一般一台电脑能构建的虚拟用户是2000个左右)

当然也能通过修改注册表暂时性的解决这个问题【可以参考我的这篇】:

Jmeter压测报错:java.net.BindException: Address already in use: connect解决办法

但是这个方式是针对 Windows 环境下压测的解决办法,放到 Linux 环境下就不适用了

于是乎就有了分布式【分摊机器自身的压力】:多台机器一起虚拟并发用户,实现更大的并发



一、分布式配置

1.  保持一致性【最简单的方法:jmeter 和脚本放一起一起打包放在 Linux】:
		分布式机器要在同一个局域网
		JDK 版本一致【大版本一致比如:1.8.xxx】
		Jmeter 版本一致 【本机 Jmeter 的 zip 压缩包】
		插件及版本一致
		防火墙全部关掉【不管是主控机还是协助的傀儡机】
	    【 操 作 系 统 没 有 要 求 】
	    
2. 分布式机器 Linux 的配置【也叫助攻机器配置】
 		修改 bin 目录下的 jmeter.properties 
 			1.查找 server_port 关键词,在底下添加一个自定义的端口: server_port = 3211
 			2.查找 server.rmi.port 关键词,在底下添加一个自定义认证的端口 server.rmi.port = 3211
 			3.查找 server.rmi.ssl.disable 关键词,在底下添加 server.rmi.ssl.disable = True (去掉认证)
 			4. linux : 定位带 bin 目录赋予全文件夹的执行权限: chmod +x -R bin/
 			5. 定位到 bin 目录启动:sh ./jmeter-server -Djava.rmi.server.hostname=助攻机器ip 【只需将 ip 添加至远程启动项】
 			6. Linux :配置防火墙 systemctl stop firewalld.service

3、 主控机机器 Windows 的配置:
		修改 bin 目录下的 jmeter.properties
			1. 查找并添加 remot_hosts=127.0.0.1:5555,192.168.1.1:3211  [本机+助攻机器的 ip 端口号地址拼接]
			2. 查找 server.rmi.ssl.disable 关键词,在底下添加 server.rmi.ssl.disable = True (去掉认证)
			3. 查找并 [ 启 用 ] : mode=Standard  去掉#号即为启用
			4.  文件保存,重新进入 Jmeter 的 bin 目录
			5. cmd 进入 bin 目录,将本机ip也作为远程启动 项【jmeter-server.bat -Djava.rmi.server.hostname = 本机ip即可】
			6. 启动成功后,保持命令行窗口运行不要关闭

第五步操作,执行出现下图所示的信息即为设置成功!
在这里插入图片描述

二、主控启动助攻机器,运行分布式执行压测脚本

  1. 重启 Windows 的 Jmeter

  2. 选择脚本,点击菜单栏的 【运行】> 【远程启动】 > 【可以单选助攻机】

  3. 如果开始做压测,就点击 【远程启动所有】

  4. 点击选择后去 Linux 可以看到助攻被启动 【注意防火墙要关闭】

  5. 助攻机器执行命令时,根据主控机其的指令执行【脚本无需传给傀儡机,但是CSV文件一定要每台傀儡机各一份】
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

压测前的准备:

1、将所有主控、辅助机的Jmeter全部启动
【需要注意的是,所有压测机防火墙全都要关闭而且主辅机要互相 Ping 通】

主机(本机桌面的jmeter) :
1.1  D:\apache-jmeter-5.4\bin下进入cmd命令行
1.2 输入以下字段及为启动:jmeter-server.bat -Djava.rmi.server.hostname=192.168.0.35

辅助机(两台):
1.1  进入bin目录 : cd /usr/local/jmeter/apache-jmeter-5.4/bin 
1.2  启动jmeter :./jmeter-server -Djava.rmi.server.hostname=192.168.0.33

2、启动监控插件 ServerAgent-2.2.3 :

1.1 进入serveragent目录: cd /usr/local/jmeter/apache-jmeter-5.4/serveragent/ServerAgent-2.2.3
1.2 关闭防火墙:systemctl stop firewalld.service
1.3 启动33监控服务并指定监听端口号:./startAgent.sh --udp-port 0 --tcp-port 3233
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值