jmeter进行分布式搭建环境并使用
第一步:环境准备
1、 首先准备几台机器,假如现在有三台主机。(最好主机是同一个的局域网)
2、保证jdk和jmeter版本都一致,并进行安装。可以网上的文档,java要配置环境变量,jmeter最好也配置一下环境变量。(必须要保证每个主机的版本一致)
3、上传测试所需要用到的插件以及测试脚本中所用到的配置文件。(主要是数据问题和对应需要的jar包,这里如果没有统一全,那么会执行失败.)
4、 上传需要测试的脚本。(这个只需要上传到master(控制端)下就可以了,在调用执行的时候,master会将脚本复制到远程服务来进行执行。
5、如果脚本中涉及从外部读取的csv等数据文件,那该文件就需要上传到各个slaver施压机上。

注1:当然,本身的控制机也可以发压,但通常不使用,一方面控制端获取数据消耗一定性能,可能影响测试结果;另一方面,在压测占用大带宽的接口下,可能会造成收集结果缓慢和异常的情况。
第二步:配置压力机端(slaver)
我们的核心任务是启动jmeter/bin目录下的jmter-server,启动完成即可。
1.启动这个jmter-server需要先进行配置,在bin目录下编辑jmeter.properties的配置文件。
主要修改:
1.server_port=1099.默认是注释的,打开注释。使用默认端口。
2.修改jmeter.properties中server.rmi.ssl.disable=false为true,并且取消注释。 (该配置表示不启动ssl)
3.启动jmeter-server:
jmeter-server -Djava.rmi.server.hostname=192.168.30.2(主机本身IP)
注:需要加-Djava.rmi.server.hostname,否则可能出现下面的错误。
1 | An error occurred: Cannot start. localhost.localdomain is a loopback address. |
第三步:Master服务配置
在控制压力机前也许进行一些配置,同理打开jmeter.properties文件进行配置。
1、配置jmeter.properties,在文件中找到remote.hosts属性.
添加如下信息:
remote.hosts =121.5.228.107:1099(执行机IP加配置端口)(,192.168.30.3:1099,多台用逗号间隔)
原本为:

改为:

2.修改jmeter.properties中server.rmi.ssl.disable=false
修改为: server.rmi.ssl.disable=true不启动SSL
第四步:开始联机测试。
远程执行语句(jmeter的bin目录下):
./jmeter -n -t 脚本路径+名称 -l 想要生成的jtl文件的路径+名称*((jrl文件自动创建)) -e -o 想要生成的jtl文件的路径+文件夹名称(文件夹自动创建) -R(r表示使用jmeter.properties配置的所以的压力机) 172.16.9.117(要控制的压力机IP1),172.16.9.118(要控制的压力机IP2)
语句执行后可以显示是否连接到了对应的压力机。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构