1、分布式概念:
jmeter做性能时,会消耗本地机器资源
本机无法没有限制的创建运行线程(一般500线程就差不多会报错)
一般这时候会用到分布式的环境
2、环境:
前提条件:环境一致(有时候可以直接压缩jmeter的包放到其他机器上,但是环境还是重新配置检查一下)
主机,slave机器:jmeter版本一致,jdk版本一致,jmeter的数据文件csv一致,插件及版本一致,有时候遇到内外网时(网段也要一致),端口,防火墙等
具体搭建:
1、将主机jmeter压缩后的包上传至其他slave机器内
2、slave机器:在jmeter/bin/jmeter.properties文件内修改配置:
搜索:sever_port,修改端口 (可新增写一个,不覆盖原来的,原来的本来已经是注释了的)
搜索:sever.rmi.port,修改端口 (可新增写一个,不覆盖原来的,原来的本来已经是注释了的)
搜索:修改sever.rmi.ssl.disable=true (默认是false)
--------------------------------------------------------------------端口:主机,slave机器的端口号要保持一致
3、启动服务:启动slave机器jmeter的服务
启动时,先指定一下ip(这里的ip为当前slave机器的ip,cmd查看一下就好)
指定ip:jmeter-sever.bat -Djava.rmi.sever.hostname=当前slave机器的ip
4、检查防火墙等是否关闭
slave机器的防火墙,不然主机,slave机器无法互相连接(端口被阻止未开放)
5、在主机上cmd:telnet slave机器的ip 端口
会出现可连通状态。
6、主机:再在jmeter/bin/jmeter.properties文件内修改配置:
第一:remote_host=slave机器的ip:端口号,ip:端口号------------多个就以英文逗号隔开写进去就行了
第二:修改为true
第三:去掉注释,此时主机运行控制时,可以看得见运行日志。
7、配置完成后,运行jmeter主机,可见如下ip入口(即主机可控制slave机器运行)
可能存在的问题:
1、网络连接不同(主机和slave机器):telnet ip 端口
2、缺少rmi.keystore.jks :去掉rmi认证---------看上面的步骤
3、主机和slave机器无法互通:重新指定一下ip和端口
原文:https://www.cnblogs.com/QiKa/p/12115110.html