jmeter工具在使用多线程对待测目标产生压力的同时, 对自身也会产生负荷
然而服务器的资源是有限的, 如CPU, 内存, 可用端口, 网络IO等等, 如何实现横向扩展, 这是一个问题
借用分布式思想, 将压力转移到多台服务器上, 整体资源提升, 那么能产生的压力也会更大
jmeter的分布式压测, 是通过RMI机制, 将压测任务分发到多个执行节点, 下面看下具体配置
RMI, 请参考RMI, 远程方法调用 - 简书 (jianshu.com)
1. 拓扑图
image.png2. 执行机配置
执行机, 有人喜欢叫server端 (与client端对应), 看个人理解
配置文件: jmeter.properties
# rmi registry端口
server_port=1099# rmi server端口, 一般情况下不用指定, 使用随机端口
# server.rmi.localport=4000# 关闭ssl
server.rmi.ssl.disable=true
启动执行机, 等待客户端请求
bin/jmeter-server
3. 客户端配置
了解RMI后, 我们知道客户端要连接执行机, 需要知道执行机的registry地址
配置文件: jmeter.properties
# 执行机registry地址信息, 逗号分隔, 如果修改了执行机registry端口, 可以指定port, 如172.31.138.104:11099
remote_hosts=127.0.0.1,172.31.138.104# registry默认端口, 当remote_hosts没有指定端口时, 则默认取该配置
# server.rmi.port=1099# 关闭ssl
server.rmi.ssl.disable=true
启动客户端, 可以指定远程执行机
image.png
网友评论