性能测试-jmeter10-分布式测试

课程:B站大学
记录软件测试-性能测试学习历程、掌握前端性能测试、后端性能测试、服务端性能测试的你才是一个专业的软件测试工程师

性能测试-jmeter分布式测试


Jmeter分布式

JMeter ​​分布式测试​​是通过多台机器(​​负载生成器​​)协同工作,共同模拟高并发用户请求的技术。核心原理是:​​一台机器作为控制机(Controller),其他机器作为执行机(Agent/Slave)​​,控制机统一下发测试计划,执行机接收指令并实际发起请求,最终将结果返回给控制机汇总分析。

为什么需要分布式测试?

  • •单机性能瓶颈:单台 JMeter 机器受限于 CPU、内存、网络等资源,通常最多支持几百到几千并发用户(具体取决于脚本复杂度)。当需要模拟 数万甚至更高并发 时,单机无法满足需求。
  • •突破资源限制:通过多台机器分担负载,可轻松扩展并发能力(例如 10 台执行机 × 每台 1000 并发 = 总计 1 万并发)。
  • •更真实的压力模拟:多台机器从不同网络环境、地理位置发起请求,更贴近真实用户分布。

分布式架构组成

角色 说明 数量要求
控制机(Controller) 负责管理测试计划、下发指令到执行机、收集并汇总执行机的测试结果(如聚合报告、监听器数据)。 1台(必需)
执行机(Agent/Slave) 实际执行测试计划的机器,根据控制机的指令模拟用户请求(如发送 HTTP 请求)。需与控制机网络互通。 多台(按需扩展)

JMeter分布式执行原理

  • JMeter分布式测试时,选择其中一台作为控制机(Controller),其它机器做为代理机(Agent)。
  • 执行时,控制机会把脚本发送到每台代理机上,代理机拿到脚本后就开始执行,代理机执行时不需要启动JMeter界面,可以理解它是通过命令行模式执行的。
  • 执行完成后,代理机会把结果回传给控制机,控制机会收集所有代理机的信息并汇总。

分布式相关注意事项:

  • 测试机上所有的防火墙关闭
  • 所有的控制机、代理机、被测系统都在同一个子网中
  • 所有的控制机和代理机上安装的Jmeter和JDK的版本必须完全一样。
  • 要关闭Jmeter中的RMI SSL开关

分布式实操流程

配置

•​​代理机(jmeter.property)​​

•server_port:代理机启动的端口,不冲突即可

•server.rmi.ssl.disable=true

代理机器我选择:apache-jmeter-5.6.3

•​​控制机​​

•remote_hosts:代理机的IP:port,如果有多个代理机用','分隔•server.rmi.ssl.disable=true

控制器我选择:apache-jmeter-5.6.3

运行

•​​代理机

​​•进入bin目录下,执行jmeter_server.bat

•​​控制机:​​

•进入bin目录下,执行jmeter.bat

•启动时,点击"运行"------"远程启动所有"控制代理机的运行

jmeter版本不兼容,那么我们就使用相同版本的jmeter继续实验

相同jmeter版本后:存在代理机ip


因为我们是同一台机器,所以我选择安装多个相同版本的jmeter进行分布式测试moni,实际上可以用两台云服务机器进行操作或者一台性能好的服务器上安装两个jmeter版本进行测试

实践是检验真理的唯一标准

相关推荐
用户114818678948434 分钟前
面试官:大屏项目里十几个模块同时渲染上万条数据,怎么做到不卡?
前端·性能优化
Pniubi3 小时前
分布式锁分类讲解
分布式
nvd115 小时前
深入剖析:GCP Pub/Sub 与 Apache Kafka 对消息处理延迟与消费者卡死的处理机制异同
分布式·kafka·apache
我不是阵雨6 小时前
分布式事务难题与实战解法全解析
分布式·微服务·架构
song5016 小时前
React Native for OpenHarmony 实战:三方库 react-native-parallax-scroll-view 的鸿蒙化适配指南
分布式·react native·react.js·transformer·harmonyos
青企通6 小时前
弱网环境下小程序首屏性能优化:从 5.2 秒到 1.4 秒的完整实践
性能优化·小程序
wuhuhuan7 小时前
JMeter 连接数据库并取值(JDBC 实战)
数据库·jmeter
做个文艺程序员8 小时前
MQ第03篇:RabbitMQ进阶实战:Topic路由+死信队列+延迟消息,SaaS订单超时取消完整方案
分布式·消息队列·rabbitmq·死信队列·延迟队列
风花一世月9 小时前
[特殊字符] 我把一套分布式消防方案做成了能跑的 3D 沙盘(三架无人机共用一根水带,在线直接玩)
分布式·3d·ai·无人机
玄芯散人10 小时前
【金丹·81】性能分析:你的程序慢在哪
linux·性能优化·perf