当前位置: 首页 > news >正文

JMeter分布式压测实施的核心技术要点

01 背景

在使用Jmeter进行性能测试时,如果并发数比较大(比如最近项目需要支持4000并发),单台压测机的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能

02 原理

Jmeter分布式测试时,选择其中一台作为调度机(master),其它机器做为执行机(slave)。

执行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行,slave执行时不需要启动GUI,我理解它应该是通过命令行模式执行的。

执行完成后,slave会把结果回传给master,master会收集所有slave的信息并汇总。

03 Windows操作

  • 执行机(slave)配置:

slave机上需要安装JMeter并添加环境变量

修改slave机Jmeter的bin目录下jmeter.properties文件,修改如下两个配置项,比如我这里修改为1099:

启动bin目录下的:jmeter-server.bat
多台slave时,重复1~2步骤即可

  • 调度机(master)配置

在master机器上找到Jmeter的bin目录下jmeter.properties文件,修改如下配置,IP和Port是slave机的IP以及端口(端口可自定义),多台slave之间用","隔开,我这配置了2台:

打开Jmeter,选好脚本及设置运行场景,选择远程全部启动(也可选择远程启动某一台slave)

04 Linux操作

1、 Linux系统中安装JMeter,并配置好JMeter环境变量

2、 在slave机上修改jmeter.properties中的端口,参考Windows下修改方法:

比如我修改为1099:

3、 开启执行脚本机器上的server服务,bin/jmeter-server

  1. [root@gd-largetest-stress-102-15 bin]# ./jmeter-server

  2. JavaHotSpot(TM)64-BitServerVM warning: ignoring option MaxPermSize=128m; support was removed in8.0

  3. JavaHotSpot(TM)64-BitServerVM warning: ignoring option MaxPermSize=128m; support was removed in8.0

  4. Using local port:1099

  5. Created remote object: UnicastServerRef [liveRef:[endpoint:[10.98.102.15:1099](local),objID:[-43550fae:15e7a5a6422:-7fff,-7419700032143407872]]]

AI写代码

4、 在master上修改bin/jmeter.properties,添加从机的IP及端口(使用-r启动所有从机)1099是默认的rmi通信端口

5、 在控制机执行分布式命令

[root@gd-xwtest-yc-102-19 bin]# jmeter -n -t ../linux.jmx -R10.98.102.15:1099-l ../result.jtl//指定从机IP [root@gd-xwtest-yc-102-19 bin]# ./jmeter -n -t ../linux.jmx -r -l ../linux.jtl//启动所有从机执行脚本

05 其它说明

1、调度机(master)和执行机(slave)最好分开,由于master需要发送信息给slave并且会接收slave回传回来的测试数据,所以mater自身会有消耗,所以建议单独用一台机器作为mater。

2、参数文件:如果使用csv等进行参数化,那么需要把参数文件在每台slave上拷一份且路径需要设置成一样的。

3、如果在linux下用命令执行分布式测试时要传线程数、执行时间或循环次数等参数时,需使用-G参数,而不是-J,这个是踩坑过来的经验,执行命令如下

[root@gd-xwtest-yc-102-19 bin]# ./jmeter -n -t ../linux.jmx -r -l ../linux.jtl -Gusers=100-Gtimes=900

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

http://www.jsqmd.com/news/273979/

相关文章:

  • 2026商用咖啡机选购指南:商务全自动与咖啡全自动商用设备精选 - 品牌2025
  • Spring MVC 面试题
  • 【大数据毕设全套源码+文档】基于Python的动漫影视数据分析和可视化设计与实现(丰富项目+远程调试+讲解+定制)
  • Java标识符与关键字
  • 2026年罗马尼亚亚马逊本土号厂家权威推荐榜:亚马逊欧洲站、塞浦路斯亚马逊本土号、意大利亚马逊本土号、欧洲亚马逊本土号选择指南 - 优质品牌商家
  • 2026西宁市英语雅思培训辅导机构推荐:2026权威出国雅思课程排行榜 - 苏木2025
  • Corrosion2靶机
  • 探寻2026北京展厅设计,口碑佳公司大盘点,会展/展台搭建/会展服务/展览/展馆设计/展位设计,展厅设计企业怎么选择 - 品牌推荐师
  • 2019年山东CSP-X复赛真题解析
  • 从数据到决策:2026值得信赖的BI私有化部署方案商与企业知识库构建伙伴推荐 - 品牌2025
  • 2026实力强的汽车租赁专业公司推荐,上海腾达租车 - 工业品牌热点
  • 打造专属企业大脑:2026高潜力知识库部署厂商全景图——涵盖本地化BI、智能问答系统与Deepseek集成服务商 - 品牌2025
  • 企业微信自动化:精准推送技术揭秘
  • 2026德国亚马逊本土号优质服务机构推荐 - 优质品牌商家
  • 2025年ai/AI排名/GEO推广/好客搜geo系统/geo推广ai搜索系统机构评价排行榜,geo推广 - 品牌策略师
  • 基于深度学习YOLOv10的传送带缺陷检测系统(YOLOv10+YOLO数据集+UI界面+Python项目源码+模型)
  • 2026年短视频公司推荐榜:短视频获客系统/抖音账号运营系统/视频号矩阵发布系统/短视频矩阵发布系统短视频 - 品牌策略师
  • 兰州市英语雅思培训辅导机构推荐2026,权威出国雅思课程中心学校口碑排行榜 - 老周说教育
  • 基于深度学习YOLOv10的结核病检测系统(YOLOv10+YOLO数据集+UI界面+Python项目源码+模型)
  • 基于深度学习YOLOv10的风力发电机叶片缺陷检测系统(YOLOv10+YOLO数据集+UI界面+Python项目源码+模型)
  • 2026年企业智能知识中枢建设指南:聚焦AI知识库部署方案商、Deepseek生态服务商与BI私有化落地专家 - 品牌2025
  • 2026年智能咖啡机如何选择?靠谱品牌推荐及值得信赖产品盘点 - 品牌2025
  • 2026上海快消品行业市场调研机构公司推荐:2026年上海快消品行业市场调研机构公司如何选?哪家好?哪家靠谱?选哪家? - Top品牌推荐
  • 基于深度学习YOLOv10的太阳能电池板缺陷检测系统(YOLOv10+YOLO数据集+UI界面+Python项目源码+模型)
  • 2026年浙江洞石漆厂家最新推荐榜:洞石涂料、洞石肌理漆、洞石别墅外墙、洞石仿石漆施工、石灰石漆、石灰石涂料、石灰石艺术漆、石灰石旧改外墙、聚焦产品实力与服务适配性深度剖析 - 海棠依旧大
  • 双电机四驱仿真模型,纯电动汽车,基于cruise simui策略部分包含能量回收,扭矩分配。 ...
  • 基于深度学习YOLOv10的跌倒检测系统(YOLOv10+YOLO数据集+UI界面+Python项目源码+模型)
  • 救命神器8个AI论文网站,研究生轻松搞定毕业论文!
  • 基于深度学习YOLOv10的安检X光危险物检测系统(YOLOv10+YOLO数据集+UI界面+Python项目源码+模型)
  • 对当前大模型的作用的重新思考