首页 > 其他分享 >Jmeter 分布式压测

Jmeter 分布式压测

时间:2023-08-16 09:57:17浏览次数:29  
标签:插件 jmeter 启动 压测 jar server ServerAgent Jmeter 分布式

****jmeter 分布式
1.windows 做控制机 controller,linux 做压测机 agent;
2.复制一份 jmeter 工具包做slave/agent  ,修改 jmeter 配置:

jmeter.properties -> server_port=1099
server.rmi.localport=1099
server.rmi.ssl.disable=true
3.复制到目标 linux 机器,目录权限 chmod -R 755 JmeterFolderName

启动meter-server 文件:./jmeter-server
不行则使用./jmeter-server -Djava.rmi.server.hostname=agent IP

4.复制一份jmeter 做master/controller:
jmeter.properties -> server.rmi.ssl.disable=true
remote_host=agentIP1,agentIP2
mode=Standard --默认只有错误信息才在查看结果树显示,这个前面的注释去掉后,显示所有;
5.cmd -> jmeter 命令 启动jmeter -> 点击 run 菜单-> remote start 中有配置的远程agent IP,运行则选择 remote start alls 即可

6.监测服务器 ServerAgent,

**ServerAgent.jar 安装在被测试服务器端,与jmeter 集成的性能监控插件,支持查看 cpu, memory,正确率,响应时间,I/O等监控;

1)下载 ServerAgent, https://github.com/undera/perfmon-agent;
2)将安装包放到被测服务器,解压 unzip ServerAgentXXX.zip;
3)进入解压文件目录,启动 ServerAgent 服务 ./startAgent.sh 端口默认为 4444;
检查是否连通:telnet ip 444
4)下载 plugins-manager.jar, https://jmeter-plugins.org/install/Install/
5)将 plugins-manager.jar 文件放在 Jmeter 的lib/ext 目录下;
6)启动 jmeter -> options ->plugins manager ->进入插件管理,搜索 ***jpgc**,下载安装(安装后,jpg-Standard Set);
7)jmeter -> 监听器 -》 jp@gc - PerfMon Metrics Collector(服务器性能检测),说明安装成功;
8) jp@gc - PerfMon Metrics Collector -》 add Row ->添加监控的 host/ip、port、 Metric to collect 等;
一般监控 CPU、memory、swap、disks I/O

PS.注意测试脚本需要持续运行一段时间,才可以看到具体的曲线变化,否则ServerAgent端会断开连接!

(windows为例)在ServerAgent安装文件夹内打开cmd输入替换端口指令:java -jar ./CMDRunner.jar --tool PerfMonAgent --udp-port 3401 --tcp-port 3402(端口号)

1.将启动监控插件的 jar(ServerAgent.jar) 包安装到要监控的服务器下;
2.找到启动监控插件的运行程序;
3.启动该程序:./startAgent.sh
4.查看是否启动成功; ps -ef|grep CMDRUNNer
5.将插件启动成功后打开 Jmeter ,添加 Jmeter 自带的性能监控插件,之后运行已添加的监控插件;

ps.
1.并发用户数 = controller 配置用户数据 * agent 机器数。
2.单独的 controller 可以做单接口测试;直接运行jmeter  运行图标,能做本地接口测试;
3.stepping thread group 不适合分布式(某视频上说的);
4.jmeter 工具,不要放在阿里云服务器的 conf 目录下,jmeter 目录下jaas.conf 文件会影响阿里云的启动;
阿里云启动时,会扫描所有 conf 目录下的 .conf 文件;

5.阶梯压测本人使用 bzm-Concurrency Thread Group:

以模仿递增式并发(只能递增不能递减),并可设置递增次数、递增时长、到达目标递增数量保持时长等等;
Target Concurrency:目标并发(总线程数)
Ramp Up Time:加速时间(总加速时长)
Ramp-Up Steps Count:加速步骤计数(总加速/递增次数)
Hold Target Rate Time:保持目标速率时间(到达总线程数后持续时长)
Time Unit:时间单位(分钟或者秒)
Thread Iterations Limit:线程迭代次数限制(循环次数)
Log Threads Status into File:将线程状态记录到文件中(将线程启动和线程停止事件保存为日志文件);

阶梯加压线程组需要和 监听器 Active Threads Over Time (单位时间内活动的线程数)结合起来。这样能看到动态的阶梯加压效果;

标签:插件,jmeter,启动,压测,jar,server,ServerAgent,Jmeter,分布式
From: https://www.cnblogs.com/xj63183/p/17633102.html

相关文章

  • 分布式版本控制系统(一)
    分布式版本控制系统(一)目录分布式版本控制系统(一)1、Git、Github、Gitlab的区别2、Git与SVN区别3、Git工作流程4、Git基本概念5、Git客户端安装使用5.1git-server安装配置5.2git-client配置免密登录git服务器5.3文本编辑器5.4差异分析工具5.5查看配置信息5.6常用的git......
  • 基于Redis的分布式锁
    在多线程的环境下,为了保证一个代码块在同一时间只能由一个线程访问,Java中我们一般可以使用synchronized语法和ReetrantLock去保证,这实际上是本地锁的方式。但是现在公司都是流行分布式架构,在分布式环境下,如何保证不同节点的线程同步执行呢?实际上,对于分布式场景,我们可以使用分布式......
  • 大数据分布式存储
    为什么需要分布式存储?数据量太大,单机存储能力有上限,需要靠数量来解决问题数量的提升带来的是网络传输、磁盘读写、CPU、内存等各方面的综合提升。分布式组合在一起可以达到1+1>2的效果1.分布式系统常见的组织形式?去中心化模式:没有明确中心,大家协调工作中心化模式:有明确的中......
  • 分布式坑
    这三年被本篇主要内容如下:  前言 我们都在讨论分布式,特别是面试的时候,不管是招初级软件工程师还是高级,都会要求懂分布式,甚至要求用过。传得沸沸扬扬的分布式到底是什么东东,有什么优势? 借用火影忍术  看过火影的同学肯定知道漩涡鸣人的招牌忍术:多重影分身之术。......
  • Jmeter foreach 控制器应用
    场景:订单列表返回N个订单,需要针对N个订单进行确认操作1、订单列表接口,JSON提取器提取N个订单编号,如图 2、foreach控制器 3、beanshell前置处理器,将订单号FSO111--》替换为FMO111 ......
  • 分布式事务的华丽进化 | 京东物流技术团队
    说到分布式事务,大家并不陌生。在实际工作中,用得比较多的还是柔性分布式事务,今天主要把在工作中运用到的几种柔性分布式事务的场景及实现方式做一个简单介绍,也可以看做是柔性分布式事务的一个演进过程。一、调用方保证这种方式适合业务内自己使用,当方法内的任务一个逻辑发生异常时,整......
  • 分布式、微服务、集群、SOA之间的关系及区别
    概念介绍分布式、微服务、集群和SOA(面向服务的架构)是现代软件架构中的一些重要概念,它们之间有一些联系和关系,但又有一些区别。下面是它们之间的关系解释:分布式官方解释分布式是一种计算资源或任务在多个节点之间分散的方式。它旨在提高系统的性能、可靠性和可扩展性。类比来说,可以......
  • 分布式事务的华丽进化
    说到分布式事务,大家并不陌生。在实际工作中,用得比较多的还是柔性分布式事务,今天主要把在工作中运用到的几种柔性分布式事务的场景及实现方式做一个简单介绍,也可以看做是柔性分布式事务的一个演进过程。一、调用方保证这种方式适合业务内自己使用,当方法内的任务一个逻辑发生异常......
  • 分布式事务解决方案-2PC, 3PC
    在分布式系统中,每一个机器节点虽然都能明确的知道自己在事务操作中的结果是成功或失败,但无法直接获取其他节点的操作结果。因此在分布式环境中,为了保持事务的ACID特性,就需要增加一个“协调者”来管理其他节点(“参与者”)事务的提交和回滚。基于这个思想,衍生出二阶段提交2PC和三......
  • 大数据之分布式
    1.什么是计算、分布式计算?计算:对数据进行处理,使用统计分析等手段得到需要的结果分布式计算:多台服务器协同工作,共同完成一个计算任务2.分布式计算常见的2种工作模式分散->汇总(MapReduce就是这种模式)中心调度->步骤执行(大数据体系的Spark、Flink等是这种模式)......