一、JMeter分布式压测介绍
在工作中使用jmeter做大并发压力测试的场景下,单机受限内存、CPU、网络IO,会出现服务器压力还没有上去,但是压测服务器已经由于模拟的压力太大死机了。为了让jmeter工具提供更强大的负载能力,jmeter提供了多台机器同时产生负载的机制,下面是架构图。
二、JMeter分布式压测环境搭建
1.Windows搭建JMeter作为Master
1、安装jdk1.8
3、修改jmeter/bin 目录下的jmeter.properties文件:
1、修改reomte_hosts属性,remote_hosts=172.16.32.190:1099,172.16.32.111:1099
2、将server.rmi.ssl.disable=false取消注释,并修改成server.rmi.ssl.disable=true
2.Linux搭建JMeter作为Slave
假设Slave为两台,ip为172.16.32.190,172.16.32.111
1、安装jdk1.8
2、下载jmeter5.3版本放在opt目录下(开启文件权限,chomd -R 777 文件名)
3、修改jmeter/bin 目录下的jmeter.properties文件:
1、将server.rmi.ssl.disable=false取消注释,并修改成server.rmi.ssl.disable=true
ps:Master与Slave的JDK与jmeter版本保存一致,避免出错
3.开始分布式压测
1、启动Slave A的jmeter-server(cd到jmeter/bin目录下,./jmeter-server启动,多网卡模式需要指定IP地址启动./jmeter -Djava.rmi.server.hostname=172.16.32.190)
2、启动Slave B的jmeter-server(cd到jmeter/bin目录下,./jmeter-server启动,多网卡模式需要指定IP地址启动./jmeter -Djava.rmi.server.hostname=172.16.32.111)
3、查看Slave是否启动成功,jmeter-server默认端口是1099,netstat-anp |grep 1099查看1099端口是否被监听
4、打开Master jmeter,点击运行,可选择远程启动单台负载机,也可远程启动所有。(如下图)
4.注意事项
1、如果有用到CSV文件进行参数化,CSV文件需要放到Slave。(2台负载机的jmeter目录应该保持一致)
2、分布式压测察看结果树没有响应数据,如果需要察看的话,修改jmeter/bin 目录下的jmeter.properties文件,取消mode=Standard 的#注释
3、Slave和Master需要相互能ping通,否则无法进行控制。