一、分布式压测原理
如下图(这个图说明的是要一台控制机,然后由这台控制机发压测脚本到每台远程执行机,然后由控制机收集执行机结果)
二、修改 Jmeter 配置文件
- 在主控机的jmeter的bin目录找到配置文件jmeter.properties。找到里面的remote_hosts 部分,修改内容为:remote_hosts=xx,xx代表的是压力机的ip:port。如果是多个压力机,之间使用【,】分隔
- 控制机端口修改,防止端口被占用(注意:控制机修改后,每台执行机的端口也要修改成一致)
- 电脑防火墙关闭,防止拦截端口
修改内容如下(注意:如果控制机也作为测试机的话,那么控制机的 IP 也需要配置到 remote_hosts中)
三、启动 Jmeter 服务
- 每台测试机都需要开启 Jmeter 服务(即:在 Jmeter 安装目录下的 bin 目录下找到 jmeter-server.bat 文件,双击打开)
- 如果控制机也作为测试机的话,那么控制机也需要开启 Jmeter 服务
- jmeter-server.bat 文件打开窗口如下
- 如果下面的 IP 不是本机 IP 那么说明IP有问题(解决方案:查看电脑网络连接中的虚拟网络是否禁用了,没有禁用则禁用掉,因为 IP 错误很可能是获取到了虚拟 IP)
- 如果下面的端口与控制机配置的端口不一致,则需要修
四、启动控制机 Jmeter 执行脚本
1.调试查看 slave 机与控制机是否连通
2.出现下图情况,说明 slave 与控制机连通了
3.接下来就可以通过 "远程全部启动" 来启动所有的 slave 机进行分布式压测脚本了
4.注意事项:
- 设置的线程数为1000,如果有4台(包括控制机)测试机,那么结果为4000次
- 如果有参数化文件,那么在 slave 上也要存放一份,且文件所在路径必须与控制机一致
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自学编程网。
- 本文固定链接: https://zxbcw.cn/post/195080/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)