二、jmeter-基本操作及场景设计--jmeter-分布式
集群:多台机器一起向外提供服务能力
分布式:分摊发起方的压力,产生更大的压力向服务器发起请求,分布式,是分摊我们发起方的压力,要消耗发起方的资源的,助攻机器不能是被测项目机器
分布式配置:
1.多台机器
2.条件: jdk 大版本要一致 `java -version` 大版本号要相同,小版本号可以不相同; jmeter版本要一致;jmeter的插件要一致;没有 可以使用不同操作系统
3.配置助攻机器:
+ jmeter.properties
+ server_port=自定义一个端口
+ server.rmi.port= 与上面相同的端口
+ server.rmi.ssl.disable=true 不开启加密认证传输
+ ./jmeter-server -Djava.rmi.server.hostname=192.168.3.36
4. 控制机配置
+ jmeter.properties
+ remote_hosts 添加助攻机器ip:端口,多个时,用英文逗号分开
+ server.rmi.ssl.disable=true
+ mode=Standard ---使用标准模式,开启之后,才能实时看到助攻机器的数据
5.操作步骤
本地jmeter打包,上传到助攻机器上
+ 如果助攻机器是linux机器: 给jmeter的bin文件夹中的文件赋予执行权限
可能在后续使用中,会报证书异常:
+ 原因是因为没有证书,----我们在http代理录制的时候,生成了一个证书
+ 想把 linux机器 作为助攻机器,修改jmeter.properties配置文件为助攻机配置文件,修改之后,这台机器才会成为助攻机器
总结:
特别注意事项:
1、你用的分布式的局域网不能太大
2、我们做分布式,千万千万不要用wifi网络
+ 1、只要助攻机器是启动的,主控和助攻之间的网络是通畅,那么我们主控是可以给助攻发任何指令
+ 2、主控机器上的脚本发生变化,助攻机器没有变,远程启动助攻机器执行脚本时,时按照最新的主控机器脚本来执行
+ ===助攻机器slave上一切行为,都是安装主控机器的指令执行。
+ 3、有多台机器作为助攻机器时,活跃线程数,多条; 响应时间曲线,是不做任何处理,原样展示;tps曲线,原样展示。
+ 4、CLI命令行模式 -r参数
备注:模拟并发用户数;jmeter本身对线程数无限制,受到电脑CPU的主频限制,http协调脚本线程数大概1500左右,最大2000(部分产不出来)模拟大于几千,考虑--分布式(这种场景基本遇不到,但是当线程数需要过大,得有对应的思路方法)