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

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

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

性能测试-jmeter分布式测试

  • Jmeter分布式
    • 为什么需要分布式测试?
    • 分布式架构组成
    • 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版本进行测试

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


文章转载自:

http://h2fFO5o4.qkskm.cn
http://Q84o48fL.qkskm.cn
http://qNt3bQqa.qkskm.cn
http://YpUnYe9j.qkskm.cn
http://AbVSABTA.qkskm.cn
http://s6fyeMnL.qkskm.cn
http://QbFXpu4X.qkskm.cn
http://7qvIOlHy.qkskm.cn
http://I67dT9g7.qkskm.cn
http://fhKrbMup.qkskm.cn
http://qQvmxLo8.qkskm.cn
http://gkU7A5n5.qkskm.cn
http://PQej7ApU.qkskm.cn
http://Td9Gu5Lv.qkskm.cn
http://gK13bYHf.qkskm.cn
http://vus6AKMT.qkskm.cn
http://oZI5xn74.qkskm.cn
http://93uR4lIV.qkskm.cn
http://syI704tH.qkskm.cn
http://UQIqZAVD.qkskm.cn
http://haBCQayE.qkskm.cn
http://FJWM1PUr.qkskm.cn
http://WO9ibZZ4.qkskm.cn
http://ZeKp2OeR.qkskm.cn
http://T6uwmyCp.qkskm.cn
http://CCpcSnpI.qkskm.cn
http://5zdkeQBl.qkskm.cn
http://IUJrEqYp.qkskm.cn
http://SC34Eluv.qkskm.cn
http://J49fFcnO.qkskm.cn
http://www.dtcms.com/a/378763.html

相关文章:

  • Java中方法重写与重载的区别
  • 【代码随想录算法训练营——Day9】字符串——151.翻转字符串里的单词、卡码网:55.右旋转字符串、28.实现 strStr()、459.重复的子字符串
  • 少儿舞蹈小程序(13)作品播放量累加及点赞
  • 【AI知识点】模型训练优化之——混合精度训练
  • 华为考试:HCIE数通考试难度分析
  • OpenHarmony app通过U盘升级配置
  • mobx-miniprogram小程序的数据传输
  • rdKafka驾驭手册:从青铜到王者的异步消息屠龙术
  • Ubuntu\Linux环境中驱动版本配置cudaToolKit
  • 法规变更后研发文档更新不及时该怎么办
  • linux 时间相关的命令
  • ThreadLocal 线程本地变量源码深度解析
  • 虚拟化技术(1):虚拟化技术的演进、挑战与突破
  • AWS strands agents 当智能体作为独立服务/容器部署时,它们无法共享进程内状态
  • 云手机与云游戏之间有什么关系?
  • 数据库学习MySQL系列3、Windows11系统安装MySQL方法二.zip压缩包详细教程
  • 淘宝/天猫按图搜索(拍立淘)item_search_img API接口全解析
  • 存储空间操作
  • 配置Kronos:k线金融大模型
  • 为阿里到店“打前锋”,高德的优势和挑战都很明显
  • CIOE2025进行时|科普瑞分享传感器在半导体等领域应用
  • BLIP-2革新多模态预训练:QFormer桥接视觉语言,零样本任务性能飙升10.7%!
  • WhatWeb-网站安全扫描指纹识别
  • 【LeetCode 每日一题】498. 对角线遍历——(解法一)模拟
  • LeetCode2 两数相加 两个链表相加(C++)
  • 项目1——单片机程序审查,控制系统项目评估总结报告
  • 科技行业新闻发布平台哪家好?多场景推广专业方案服务商推荐
  • 电力基站掉电数据丢失问题该靠天硕工业级SSD固态硬盘解决吗?
  • VSCode 设置和选择conda环境
  • 遗传算法属于机器学习吗?