jmeter docker 分布式压测

基于Docker的JMeter分布式压测 它将软件与硬件分离,因此开发者可以放心,应用程序将在任何机器上运行,无论该机器是否有任何定制的设置,可能与用于编写和测试代码的机器不同。但与虚拟机不同的是,Docker不是创建一个完整的虚拟操作系统,而是允许应用程序使用与它们所运行的系统相同的Linux内核,只要求应用程序与主机上尚未运行的东西一起运送。正如你在上面的Dockerfile中看到的,如果我们需要改变Java/JMeter的版本/端口,我只需要更新dockerfile,Docker会处理剩下的事情。确保docker已经安装在你的机器上。 阅读详情

背景

  • fabric 框架源码改完了之后需要测试性能,然后发现怎么也无法打满cpu,所以只能多来几台服务器,多跑几个jmeter了

使用方式:

  • 目录要求:
    • 要有一个 plans目录:
      • 在这里插入图片描述
docker pull jokerlvccc/bench-jmeter:1.0.0
docker tag  jokerlvccc/bench-jmeter:1.0.0 bidsun.com/bench-jmeter:1.0.0
  • 需要将自己的计划文件映射到 : /home/services/bidsun/bench/bashes/
    • 如 -v /Users/joker/company/go/src/github.com/hyperledger/fabric-demo/bashes/test:/home/services/bidsun/bench/bashes/plans/,会自动执行一系列任务,然后会自动导出结果,在同级目录下,不会重复执行(简单的通过jtl判断)
  • 直接压测:
    • docker run -it --name jmeter -p 1099:1099 -p 50000:50000 -e ENV_ARGUMENT="bench " -v /Users/joker/company/go/src/github.com/hyperledger/fabric-demo/bashes/test:/home/services/bidsun/bench/bashes/ bidsun.com/bench-jmeter:1.0.0
  • 只是作为agent:
    • docker run -it --name jmeter -p 1099:1099 -p 50000:50000 -e ENV_HOST="172.224.2.2" -e ENV_ARGUMENT="agent" bidsun.com/bench-jmeter:1.0.0
  • 分布式压测
    • 先在几个服务器上启动agent (如上启动n个agent)
    • 然后在master上启动如下:
      • docker run -it --name jmeter-master -e ENV_ARGUMENT="bench" -e ENV_REMOTE_SERVERS="xxxx需要为agent的ip,默认端口1099可以不写" -v /Users/joker/company/go/src/github.com/hyperledger/fabric-demo/bashes/test:/home/services/bidsun/bench/bashes/ bidsun.com/bench-jmeter:1.0.0

遇到的问题

  • connection refused
    • 因为我是在本机执行,slave 和master在一台机器,刚开始没发现这个问题,后来丢到了服务器,遇到了这个问题,原因在于, 有一个localPort
      在这里插入图片描述
    • 当没有指定 port的时候,是随机的,因为是本机,docker之间没有隔离的话,也是都能访问的,所以没这个问题,但是到了服务器上之后,随机端口没有映射出来,所以会报connection refused
  • The following remote engines have not started:[xxx.xxx.xx.xx]
    • 这个问题是因为访问不到,最开始我是直接通过:-Djava.rmi.server.hostname=ifconfig eth0|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"指定的,这时候的ip会是容器ip,而其他服务器是无法访问到的,然后基于现在docker还不支持容器内获取宿主机ip,所以干脆传入一个ENV_HOST环境变量解决

注意点

  • 必须外抛 server_port (默认是1099)和server_local_port(50000),否则的话无法其他服务器无法识别到
告别反复格式化!用Ventoy制作2025年终极启动盘,Windows/Linux/macOS一网打尽 本文详细介绍了如何使用Ventoy制作2025年终极多系统启动盘,彻底告别反复格式化U盘的烦恼。Ventoy通过创新的引导加载器架构,允许用户在一个U盘内同时存放并直接启动Windows、Linux、macOS等多种系统镜像和WePE等维护工具,实现真正的非破坏性管理和极高的U盘利用率。文章涵盖从安装配置、镜像库构建到安全启动设置等全流程实战指南。 阅读详情

相关推荐

【重磅更新】CT/MRI LI-RADS 2024:肝细胞癌局部区域治疗后反应评估的核心突破与临床实践指南

减少过度治疗:辐射 LRT 的 Nonprogressing 类别避免了 “持续强化 = 存活” 的误判,降低不必要的再治疗风险;提高检出效率:非辐射 LRT 的辅助特征升级减少了 Equivocal 比例,更早识别存活肿瘤;统一评估语言:标准化的分类标准为放射科、肝病科、肿瘤科、肝移植科的多学科协作(MDT)提供了统一 “沟通工具”,助力治疗方案的精准制定。

楚山之石的博客 1225

FABRIC执行在后台运行的命令

最近一个项目需要用30个左右的jmeter客户端来做压力测试,需要做一些部署和配置工作,这时我喜欢的Fabric就可以发挥它的力量了。其中,我希望将jmeter施压段放到后台去运行,最开始将“nohup xxx &”放到fabric的run()中执行时,却没有执行;后来看了下文档,并做了些实验。对于直接使用“&”放到后台执行的情况,Fabric推荐使用如下3种情况来替代(按鲁棒性从...

weiguang1017的专栏 2192

LTX-2.3 V1.6:8G显存本地AI视频生成工具与int8量化加速实践

这次我们来看一个本地部署的AI视频生成工具——LTX-2.3文字图片生成带音频视频工具V1.6版本。这个工具最大的特点是支持int8量化加速,相比原版提速2-4倍,效果更好,而且8G显存就能运行,不需要搭建复杂环境,解压即可使用。 对于想要在本地电脑上快速生成带音频视频内容的用户来说,这个工具解决了几个关键痛点:首先是硬件门槛低,8G显存意味着大多数主流游戏显卡都能胜任;其次是部署简单,避免了Python环境配置、依赖包冲突等常见问题;最后是性能优化明显,int8加速让生成速度大幅提升。 本文会重点演示如何

hqmln的博客 1234

jmeter展示内存cpu_基于Docker的jmeter弹性压测(2)监控

在前面的文章说,我们介绍了基于Docker的Jmeter弹性压测的发压方法。在压测过程中,无论是链路压测,还是单服务压测,我们都需要考量服务器在压测过程中的负载。一般情况下,对于服务器性能指标的监控,比如CPU、内存、网络等,可以由运维部门配合或者提供工具供我们使用,而有些情况下,是需要我们自己来做监控的。传统的监控办法,就是top、vmstat这些linux的命令;或者nmon这种有一定历史的监...

weixin_32529407的博客 304

不只是抓取:用五指灵巧手(ROH-A001/RH56)玩转ROS2下的力控与混合控制

本文深入探讨了在ROS2环境下使用五指灵巧手(ROH-A001/RH56)实现力控与混合控制的实战技巧。从硬件通信协议解析到ROS2节点开发,详细介绍了力感知架构、实时数据处理和混合控制策略,帮助开发者在Ubuntu系统中高效实现精密操作。通过鸡蛋抓取等实例,展示了力控技术在机器人灵巧操作中的关键作用。

weixin_28221501的博客 286

Windows 下安装 ros2 的超详细教程

Windows11 ROS安装

2401_83363439的博客 3318

docker 实现JMeter分布式压测

在工作中经常需要对一些关键接口做高QPS的压测,JMeter是由Java 语言开发,没创建一个线程(虚拟用户),JVM默认会为每个线程分配1M的堆栈内存空间。受限于单台试压机的配置很难实现太高的并发。所以,通过JMeter实现分布式,可以整合多台主机的硬件资源,实现同时对被测试接口进行压力测试。Jmeter分布式测试环境中有两个角色:Master 和 SlavesMaster节点:向参与的Slaves节点发送测试脚本,并聚合Agent节点的执行结果。

朱雀随云记的博客 762

电脑版微信多开,最详细教程没有之一

首先桌面任意的位置右键新建文本文档输入如下代码: TASKKILL /F/IM WECHAT.EXE start " " "D:\Program Files (x86)\Tencent\WeChat\WeChat.exe" start " " "D:\Program Files (x86)\Tencent\WeChat\WeChat.exe" ...

大超子 4390

基于docker实现JMeter分布式压测

摘要:为解决单机压测资源受限问题,可使用JMeter分布式压测,通过多台主机整合资源提升并发能力。分布式架构包含Master(发送脚本/聚合结果)和Slaves(执行脚本)。借助Docker容器化技术可快速部署JMeter环境,结合K8s还能实现无限扩容。实现步骤包括:1)准备JDK和JMeter环境;2)使用Docker镜像创建Master和Slave节点;3)分配IP地址并发送压测脚本;4)生成HTML测试报告。该方法突破单机性能瓶颈,使高并发模拟成为可能,且通过容器化技术简化了环境部署流程。(149字

2301_78843735的博客 738

实现labelme批量json_to_dataset方法

labelme可以帮助我们快速的实现Mask-RCNN中数据集json文件的生成,然而还需要我们进一步的将json转成dataset,可以直接在cmd中执行labelme_json_to_dataset.exe C:\Users\Administrator\Desktop\total\1.json(路径),但是这个过程需要我们一个json文件的生成,过程很慢。 一、打开abelm...

简简单单 5万+

G120变频器抱闸逻辑在提升机上应用

一、前言: 对于提升机、起重机、堆垛机、升降机等提升机构,负载为位能性负载,在设备启动和停止阶段,由于重物作用,可能会出现“溜车”现象、控制变频器与电机抱闸时许可以解决此问题 使用具有矢量控制功能的变频器 二、参数设置 抱闸控制时序: 启动: 1、变频器接收到启动命令时-----输出电流对电机进行励磁,经过P346电机励磁时间(==丹佛斯 设置启动电流延时0.5S)------达到一定的转矩 2、变频器输出开抱闸命令,经过P1216延时打开抱闸时间(==PLC延时控制打开抱闸) 注意:抱闸

fenglingxicao的博客 1万+

【Docker】实现JMeter分布式压测

​  一个JMeter实例可能无法产生足够的负载来对你的应用程序进行压力测试。如本网站所示,一个JMeter实例将能够控制许多其他的远程JMeter实例,并对你的应用程序产生更大的负载。JMeter使用Java RMI[远程方法调用]来与分布式网络中的对象进行交互。JMeter主站和从站的通信如下图所示: ​

OKCRW的博客 771

机器学习扩散模型简介

​ 扩散模型是生成模型,在过去几年中越来越受欢迎,这是有充分理由的。仅在 2020 年代发布的几篇开创性论文就向世界展示了 Diffusion 模型的能力,例如在图像合成方面击败 GAN[6]。最近,从业者将看到DALL-E 2(OpenAI 上个月发布的图像生成模型)中使用的扩散模型。

gongdiwudu的专栏 4263

利用 docker 实现JMeter分布式压测

如果要分布式联动每台主机,就要求每台主机都要有JMeter环境(JDK + JMeter),如果利用docker就可以通过docker管理 JMeter环境,简单的拉取镜像,启动容器即可。的压测,JMeter是由Java 语言开发,没创建一个线程(虚拟用户),JVM默认会为每个线程分配1M的堆栈内存空间。

hlsxjh的博客 679

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Jmeter 压测-利用Docker分布式压测

查看报告 进入20230707005328 目录,点击 index.html 文件,可以看到压测的结果。

hlsxjh的博客 670

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

上一篇: Talk Is Cheap,Show Me The Code-个人框架(无缝衔接Spring)
下一篇: Golang 锁源码分析
Coder_Joker
博客等级 码龄8年 39粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值