一、简介
在使用JMeter进行性能测试时,如果并发数比较大(比如项目需要支持10000并发),单台电脑的(CPU和内存)可能无法支持,这时
可以使用JMeter提供的分布式测试的功能。
二、原理
1.JMeter分布式测试时,选择其中一台作为控制机(Controller),其它机器做为代理机(Agent)。
2.执行时,控制机会把脚本发送到每台代理机上,代理机拿到脚本后就开始执行,代理机执行时不需要启动JMeter界面,可以理解它是通过命令行模式执行的。
3.执行完成后,代理机会把结果回传给控制机,控制机会收集所有代理机的信息并汇总。
三、步骤
因为我没有其它电脑,所有代理机我通过创建多个jmeter目录在我本机的电脑上测试,即

1.代理机(Agent)配置
(1)打开代理机bin/jemter.properties配置文件,配置代理机端口号和RMI SSL为true,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2)双击代理机bin目录下jmeter-sever.bat启动代理机,此时以命令行模式启动
在这里插入图片描述
其它代理机也重复此步骤
2.控制机配置
(1)修改控制机bin/jmeter.propertier中的remote_hosts所控制的代理机IP地址和端口,以及RMI SSL为true
在这里插入图片描述
在这里插入图片描述
(2)重启jmeter控制机,配置相关线程组合请求,此处以百度网为测试地址
可选择单个远程启动或者远程启动所有
在这里插入图片描述
观察查看结果树取样器结果,可看到执行代理机的名称
在这里插入图片描述
在这里插入图片描述
四、注意事项

  • Jmeter控制机和执行机的Jmeter版本需要保持一致
  • 如果控制机的脚本中引入了外部的数据文件,那么执行机同样的路径中,也需要有数据文件,原因是控制机虽然会分发脚本,但是不会分发数据文件,由于是同样的路径的文件,所以存在操作系统的兼容性问题。不能把windows路径放在linux当中去运行
  • Jmeter进行性能测试时,有一个BUG。它统计的响应时间包括了jmeter内部处理的时间。所以结果并不准确。所以大家在使用jmeter进行性能测试时,尽量避免会增加jmeter内部处理时间的操作。(例如读取外部CSV数据文件,就会消耗较长的时间,不推荐,最好是使用内置函数来完成)
Logo

鸿蒙生态一站式服务平台。

更多推荐