简述JMeter实现分布式并发及操作

为什么要分布式并发?

JMeter性能实践过程中,一旦进行高并发操作时就会出现以下尴尬场景,JMeter客户端卡死、请求错误或是超时等,导致很难得出准确的性能测试结论。

目前知道的有两个方法可以解决JMeter支撑高并发:

一是将JMeter部署在Linux服务器上,可以支撑的并发量远大于windows客户端,极少出现JMeter客户端卡死的情况;

另外一种方式就是今天要介绍的分布式。

简单来说,分布式就是将一次大的操作分布在多个服务器上,由多个服务器来承担负载压力。分布式并发的原理详见下图:

分布式并发实现步骤

打开JMeter,在运行->远程启动,可以看到只有"127.0.0.1"因此首先要在主压力机上配置远程负载机的IP,配置步骤如下:

1、Master(主压力机)在jmeter.properties中添加remote_hosts。

配置路径:...\apache-jmeter-3.2\bin 路径下的jmeter.properties。

remote_hosts=127.0.0.1 后面增加远程负载机的ip和端口号,如果需要添加多个,用逗号分隔就可以。

例如:remote_hosts=192.168..:1099,192.168..**:1099。

2、Slave(远程负载机)在jmeter.properties中添加server_port:

python 复制代码
server_port=1099
server.rmi.localport=1099

备注:这里的端口号可以自定义,只要与主压力机里面配置的一致即可。

3、Slave(远程负载机)启动Jmeter-server,启动成功后如下图所示:

配置完成后重启主压力机,查看远程启动,可查看到配置的远程负载机IP,如下图:

添加一个接口,进行远程启动:

1、添加一个线程组,然后添加一个Sampler里的HTTP请求:

2、以百度为例,添加监听器->查看结果树:

3、点击运行->远程全部启动,运行后查看结果树:

截至目前,分布式并发的配置已经完成,如果需要添加多台远程负载机,重复以上操作即可。

遇到问题

配置过程虽然很简单,但是也不是一帆风顺,在远程启动时遇到了拒绝连接的问题,如下截图显示:

遇到这种情况时,可能存在多种因素,可以参考以下步骤逐一排查:

1、远程负载机的Jmeter-server是否启动成功;

2、远程负载机是否处于联网状态;

3、防火墙是否处于关闭状态;

4.主压力机和远程负载机的JMeter版本是否一致。

在实战过程中也出现了这个问题,经过一番排查终于找到问题原因,是因为远程负载机上启动JMeter时,用jmeter.bat进行的启动,而不是jmeter-server.bat。

希望大家不要犯这样低级的错误。

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

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

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
NE_STOP7 天前
Vibe Coding -- Claude Code 的核心配置与常用命令
程序人生
程序员龙叔14 天前
编写高质量 Skill 系列 -- 如何设计需求分析与用例生成的 SKILL
自动化测试·软件测试·python·软件测试工程师·接口测试·性能测试·skill·ai测试
goldenrolan14 天前
A公司物料替代测试系统 v1.7:从需求到 exe/apk 的 AI 辅助全链路实践
android·自动化测试·软件测试·python·ai
dayuOK630714 天前
写作卡壳怎么办?我的“5分钟启动法”
人工智能·职场和发展·自动化·新媒体运营·媒体
枫子有风15 天前
LLM-Agent智能体(大厂面试常问)
面试·职场和发展·llm·agent
Raina测试15 天前
欢迎来到《Raina 测试学习指南》博客✨ | Raina测试学习指南
软件测试·ai测试
重生之后端学习15 天前
Java入门
java·开发语言·职场和发展
AIHR数智引擎15 天前
KPI物理失效:AI原生组织的效能重构与技能度量
人工智能·经验分享·职场和发展·重构·ai-native·aihr
想吃火锅100515 天前
【leetcode】121.买卖股票的最佳时机js/c++
算法·leetcode·职场和发展
程序员小远15 天前
自动化测试基础知识总结
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例