美文网首页Jmeter
Jmeter分布式集群部署

Jmeter分布式集群部署

作者: 刘翊扬 | 来源:发表于2022-06-07 23:22 被阅读0次

环境准备

机器准备

系统 ip 角色
window10 本地 192.168.18.1 master
centos7 192.168.18.139 slave
centos7 192.168.18.138 slave

说明:

  • master机器放在window上,是方便在本地测试。你也可以部署在linux上,都是可以的
  • master和slave使用的jmeter版本要一致

部署slave

修改 jmeter.properties (在bin目录下)配置文件

#设置端口,默认是1099,根据个人情况进行设置
#server_port=1099

# 把这个设置成true,禁用ssl。这个默认是false,被注释掉了,打开注释
server.rmi.ssl.disable=true

启动服务

# 进入bin目录下
./jmeter-server

# 如果启动报了这个错:An error occurred: Cannot start. localhost.localdomain is a loopback address。可以使用下面命令启动
./jmeter-server -Djava.rmi.server.hostname=192.168.18.138
image.png

启动成功后,可以看到endpoint信息。这个port: 33200每次启动都不一样。因为目前用不到这个port,所以可以暂时不改。

如果想使用固定的port,可以修改jmeter.properties


image.png

按照上面部署,把两个slave 都部署起来就行

部署master

同样是修改jmeter.properties配置

# Remote Hosts - comma delimited
remote_hosts=127.0.0.1,192.168.18.138:1029,192.168.18.139:1029
#remote_hosts=localhost:1099,localhost:2010

# 禁用ssl
server.rmi.ssl.disable=true

设置remote_hosts。

master节点,本身也可以做为服务,如果你想让master也做为服务,则master节点也需要去bin目录下执行

# 启动服务
./jmeter-server

这里我就不启动了。只用slave节点测试

测试验证

通过GUI的方式

image.png

打开jmeter页面。run的时候选择一个节点,也可以start All。

这里我们选择192.168.18.138机器


image.png

去138机器上,看多了这两行日志

通过命令的形式启动

# linux上
/root/jmeter/bin/jmeter -n -t test.jmx -R 192.168.18.138:1029,192.168.18.139:1029 -l result.jtl 

# window上
/root/jmeter/bin/jmeter.bat -n -t test.jmx -R 192.168.18.138:1029,192.168.18.139:1029 -l result.jtl 

分布式集群的原理

JMeter分布式执行时,选择其中一台作为调度机(master),其他机器作为执行机(slave);master会在本地编辑好jmx压测脚本,执行时,master将jmx脚本发送至slave上,slaver执行时不需要启动jmeter,只需要把jmeter-sever.bat文件打开以非GUI形式执行;slave执行完毕后将结果回传给master,并由master进行结果的汇总;简单来说能达到的效果也就是:比如我在JMeter jmx脚本中设立的线程数是100,我在本地单机运行就会产生100次请求。如果我有1台master机器,2台slave机器,那么每次会向服务器发送的请求数总共就是100*3次。

执行期间,result.jtl里面的日志是实时更新的。

相关文章

网友评论

    本文标题:Jmeter分布式集群部署

    本文链接:https://www.haomeiwen.com/subject/trrymrtx.html