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

jmeter分布式集群压测

目的:通过多台机器同时运行 性能压测 脚本,模拟更好的并发压力

简单点:就是一个人(控制机controler/调度机 master)做一个项目的时候,压力有点大,会导致结果不理想,这时候找几个人(执行机slaver)一起做,平均分配工作量 ,控制机只需要设置好需求,通知执行时间,最后看结果就行,其他都不用做。

master会在本地编辑好jmx压测脚本,执行时,master将jmx脚本发送至slave上,slaver执行时不需要启动jmeter,只需要把jmeter-sever.bat文件打开以非GUI形式执行;

slave执行完毕后将结果回传给master,并由master进行结果的汇总 

1.多个独立环境,运行jmeter

192.168.120.9 --- 运行jmeter,控制机

192.168.1.174 --- 运行jmeter-server 作为执行机

192.168.1.175--- 运行jmeter-server作为执行机


2.执行机 环境搭建

2.1 环境设置 

注意:控制机和执行机需要一致的地方

  • Jmeter版本一致
  • JDK版本一致
  • Jmeter插件一致
  • Jmeter脚本中文件路径要一致(特别注意csv路径,建议csv路径使用相对路径,放在脚本的同级目录)
关于分布式环境计数重复问题导致程序报错解决方案:Jmeter脚本添加csv文件控制,不同的SLAVE环境下存放不同的csv文件即可使用CSV+计数器控制不同Slave的重复问题。
  • 同一局域网,防火墙要开放端口

保持一致性的方法:直接压缩本地Jmeter包,然后上传到各个执行机进行解压

2.2 修改jmeter.properties

进入配置文件目录下

jmeter4.X之后controller机连接slave机,多了SSL身份验证环节,不想使用SSL,也可以进行关闭SLL,通过修改jmeter.properties(关闭RMI) 

内网压测禁用SSL,外网需要启动SSL,进行slave机和controller机身份验证

server.rmi.ssl.disable=true

命令行比较难找,如果可以直接操作电脑文件,可以直接在 jmeter.properties修改比较方便

 3. 控制机修改jmeter.properties

修改配置文件jmeter.properties

设置要连接的执行机 

4.密匙传给执行机

控制机生成密匙-执行机(负载机)授权-分布式才能正常实现 

1).接下来因为jmeter4.0版本及以上时,为了安全 分布式压测需要一个密匙才能正常实现


2).打开控制机的bin目录运行create-rmi-keystore.bat 

复制下面的指令 

 

keytool -genkey -keyalg RSA -alias rmi -keystore rmi_keystore.jks -storepass changeit -validity 7 -keysize 2048

3).找到jdk并进入jdk\bin目录

mac:

/Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home/bin

输入 b中复制的执行,且输入信息后,报错:keytool 错误: java.io.FileNotFoundException: rmi_keystore.jks (Permission denied)

权限的问题,增加sudo

4).完成后,会生成一个jks文件

5).然后将这个文件,复制粘贴给所有执行机中的jmeter\bin目录下面(Windows、linux同理) 

 

5. 运行

5.1 执行机启动

每个执行机都要启动 

./bin/jmeter-server -Djava.rmi.server.hostname::192.168.1.174
./bin/jmeter-server -Djava.rmi.server.hostname::192.168.1.175

如果提示权限问题,赋予权限chomd -R 777 xxxx 

5.2 控制机启动

1) GUI模式 

远程启动,选择执行机,如果都要执行,则选择“远程启动所有” 

2)非GUI模式

启动salve机执行脚本,并返回数据,同时生成聚合报告文件、日志等数据文件

jmeter -n -t 脚本名称.jmx -R 192.168.38.49,192.168.38.52,192.168.38.20 -l logfile.jtl -o testReport -j log -r -e

 

注意点:

如果执行 6000个线程数 :

  • 3 个执行机的话,线程数就设置2000;
  • 2 个执行机的话,线程数就设置 3000;
  • 1 个执行机的话,线程数就设置 6000.

更多问题 

相关文章:

jmeter分布式集群压测

目的:通过多台机器同时运行 性能压测 脚本,模拟更好的并发压力 简单点:就是一个人(控制机controler/调度机 master)做一个项目的时候,压力有点大,会导致结果不理想,这时候找几个人&a…...

美国加州正测试ChatGPT等生成式AI,在4大部门应用

5月11日,美联社消息,美国加州政府正在测试ChatGPT等生成式AI,应用在税收和收费管理部、交通部、公共卫生部以及卫生与公众服务部4大部门。 测试时间6个月,为其提供技术支持的一共有5家公司,分别是OpenAI、Anthropic、…...

【Kali Linux工具篇】wpscan的基本介绍与使用

介绍 WPScan是Kali Linux默认自带的一款漏洞扫描工具,它采用Ruby编写,能够扫描WordPress网站中的多种安全漏洞,其中包括主题漏洞、插件漏洞和WordPress本身的漏洞。最新版本WPScan的数据库中包含超过18000种插件漏洞和2600种主题漏洞&#x…...

C#算法之计数排序

算法释义:计数排序是一种非基于比较的排序算法,它不依赖于比较操作来确定元素的顺序,而是通过键值索引直接确定元素的输出位置。计数排序适用于一定范围内的整数排序。为什么说是一定范围之内呢?原因如下:计数排序的复…...

EasyExcel简单使用

EasyExcel简单使用 ​ 之前一直用的Apache POI来做数据的导入导出&#xff0c;但听说阿里的EasyExcel也拥有POI的功能的同时&#xff0c;在处理大数据量的导入导出的时候性能上比POI更好&#xff0c;所以就来尝试使用一下 导入Maven依赖&#xff1a; <dependency><…...

Notes客户端中的漫游功能

大家好&#xff0c;才是真的好。 故事&#xff0c;首先是从一个小图标开始的&#xff0c;很多人问我Domino公共通讯录中&#xff0c;个人文档前面有一个绿色小球图标&#xff0c;这是什么意思&#xff1f; 我的答案&#xff1a;这是Notes客户端中的漫游功能。 说到漫游&…...

为什么要内存对齐?

首先&#xff0c;我们介绍一下结构体内存对齐的规则&#xff1a; 1.第一个成员在与结构体偏移量为0的地址处。 2.其他成员变量要对其到某个数字&#xff08;对齐数&#xff09;的整数倍的地址处。 注&#xff1a;对齐数编译器默认的一个对齐数与该成员大小的较小值&#xff…...

23、Flink 的 Savepoints 详解

Savepoints 1.什么是 Savepoints Savepoint 是依据 Flink checkpointing 机制所创建的流作业执行状态的镜像&#xff0c;可以使用 Savepoint 进行 Flink 作业的停止、重启或更新。 Savepoint 由两部分组成&#xff1a;稳定存储&#xff08;例如 HDFS&#xff0c;S3&#xff…...

【Unity】Unity项目转抖音小游戏(二)云数据库和云函数

业务需求&#xff0c;开始接触一下抖音小游戏相关的内容&#xff0c;开发过程中记录一下流程。 抖音云官方文档&#xff1a;https://developer.open-douyin.com/docs/resource/zh-CN/developer/tools/cloud/develop-guide/cloud-function-debug 1.开通抖音云环境 抖音云地址&a…...

SpringBoot集成jasypt对yml文件指定参数加密并自定义@bean隐藏密钥

1、查看SpringBoot和jasypt对应版本。 Jasypt 1.9.x 通常与 Spring Boot 1.5.x 相对应。 Jasypt 2.1.x 通常与 Spring Boot 2.0.x 相对应。 Jasypt 3.x 通常与 Spring Boot 2.1.x相对应。 2、引入maven <dependency><groupId>com.github.ulisesbocchio</groupI…...

GDB的使用

即目标机直接使用GDB调试 源码安装&#xff1a; Index of /gnu/gdb 或者 wget https://ftp.gnu.org/gnu/gdb/gdb-8.3.1.tar.gz ./configure make main install 编译报错解决方法&#xff1a; 解决编译安装gdb-10.1 unistd.h:663:3: error: #error “Please include con…...

Linux处理用户输入

目录 一、传递参数 1.1 读取参数 1.2 读取脚本名 二、跟踪参数 三、移动参数 四、处理选项 4.1 查找选项 4.1.1 处理简单选项 4.1.2 分离参数和选项 4.1.3 处理含值的选项 五、选项标准化 5.1 使用 getopt 命令 5.1.1 命令格式 5.1.2 在脚本中使用getopt 5.2 使用…...

【代码笔记】高并发场景下问题解决思路

高并发指的是在单位时间内&#xff0c;瞬时流量激增&#xff0c;系统需要同时处理大量并行的请求或操作。这种情况通常出现在面向大量用户或服务的分布式系统中&#xff0c;尤其是当用户请求高度集中时&#xff0c;比如促销活动、秒杀活动、注册抢课、热点事件、定时任务调度等…...

【Docker系列】Linux部署Docker Compose

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

基于SSM的文化遗产的保护与旅游开发系统(有报告)。Javaee项目。ssm项目。

演示视频&#xff1a; 基于SSM的文化遗产的保护与旅游开发系统&#xff08;有报告&#xff09;。Javaee项目。ssm项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0c;…...

整合springboot-mybatis时,MySQL数据库无法连接问题

整合springboot-mybatis时&#xff0c;MySQL数据库无法连接问题 解决步骤 先手动停止MySQL服务&#xff0c;在cmd后的控制台输入services.msc 找到MySql停止服务 修改配置文件&#xff0c;跳过验证 修改MySQL安装目录下的my.ini配置文件&#xff0c;使登录时跳过权限检查&a…...

C语言循环队列

以下是一个使用 C 语言实现的简单循环队列示例&#xff1a; #include <stdio.h> #include <stdlib.h>#define MAX_SIZE 5// 定义循环队列结构体 typedef struct {int items[MAX_SIZE];int front, rear; } Queue;// 初始化队列 void initQueue(Queue *q) {q->fr…...

Docker运行出现iptables: No chain/target/match by that name报错如何解决?

在尝试重启 Docker 容器时遇到的错误信息表明有关 iptables 的配置出了问题。这通常是因为 Docker 需要配置网络&#xff0c;而 iptables 规则没有正确设置或被意外删除。具体到你的错误信息中&#xff0c;报错 iptables: No chain/target/match by that name 表示 Docker 尝试…...

力扣 122. 买卖股票的最佳时机 II python AC

动态规划 class Solution:def maxProfit(self, prices):pre float(inf)ans 0for now in prices:if now > pre:ans now - prepre nowreturn ans定义一个变量保存上一步位置最小的数值&#xff0c;来模拟dp --遍历股票数值 --如果当前数值大于上一次&#xff0c;将股票卖…...

F5 BIG-IP Next Central Manager SQL注入漏洞(CVE-2024-26026、CVE-2024-21793)

0x01 产品简介 BIG-IP Next Central Manager是BIG-IP Next的原生默认用户界面,它可跨平台管理BIG-IP Next实例。BIG-IP Next是F5 Networks公司推出的一款下一代BIG-IP软件,提供了多云应用安全和应用交付服务。 0x02 漏洞概述 CVE-2024-26026:BIG-IP Next Central Manager…...

SpaceX披露IPO招股书:400亿美元数据中心交易、600亿美元收购Cursor,轨道AI计算挑战待解

拿下Anthropic算力大单&#xff1a;每月12.5亿美元&#xff0c;连付3年&#xff0c;双方均可叫停今年5月&#xff0c;SpaceX与Anthropic就访问COLOSSUS和COLOSSUS II两大大型数据中心的算力访问达成了云服务协议。根据协议&#xff0c;Anthropic同意在2029年5月之前每月向Space…...

Claude Mythos:AI自主攻防与零日漏洞发现的范式革命

1. 项目概述&#xff1a;一场静默却震耳欲聋的AI能力跃迁这周&#xff0c;整个AI安全圈没有爆炸性新闻稿&#xff0c;没有铺天盖地的发布会直播&#xff0c;只有一份措辞克制、数据密集的系统卡片&#xff08;System Card&#xff09;和一份由英国AI安全研究所&#xff08;AISI…...

别再怪硬件了!DELL服务器风扇噪音的元凶与精准静音指南(iDRAC+IPMI实战)

别再怪硬件了&#xff01;DELL服务器风扇噪音的元凶与精准静音指南&#xff08;iDRACIPMI实战&#xff09; 服务器风扇突然狂转&#xff0c;噪音飙升&#xff1f;先别急着给硬件判死刑。这背后往往是一场系统散热策略与硬件兼容性的无声对话。作为管理员&#xff0c;我们需要透…...

《Sysinternals实战指南》进程和诊断工具学习笔记(8.25):Handle进阶——批量巡检、自动审计与高危操作SOP

&#x1f525;个人主页&#xff1a;杨利杰YJlio❄️个人专栏&#xff1a;《Sysinternals实战教程》《Windows PowerShell 实战》《WINDOWS教程》《IOS教程》《微信助手》《锤子助手》 《Python》 《Kali Linux》 《那些年未解决的Windows疑难杂症》&#x1f31f; 让复杂的事情更…...

2026年局域网考试系统选型对比:优考试助力政企信创与内网安全

在数字政府与信创产业全面推进的当下&#xff0c;政企、事业单位及涉密单位的考试场景&#xff0c;正面临国产化适配、数据安全、灵活部署三重核心要求。既要满足内网环境下的数据安全与物理隔离&#xff0c;又要兼顾部分场景下外网访问的灵活性&#xff0c;传统单一架构考试系…...

机器学习之逻辑回归算法

一、逻辑回归简介 1. 定义 逻辑回归&#xff08;Logistic Regression&#xff09;是一种有监督学习算法&#xff0c;主要用于解决二分类问题的统计学习方法。尽管名字中带有“回归”&#xff0c;但它实际上是一种分类算法。 大白话解释 逻辑回归就是一种“做判断题”的算法&…...

嘉立创EDA:原理图到PCB学习总结

1.原理图&#xff1a; 关于原理图绘制可以看项目需要哪些板块&#xff0c;去网上搜索开源项目跟着上面一步一步绘制即可&#xff0c;或者利用豆包来一步一步生成板块 主要要注意&#xff1a; 电源要加电容进行滤除杂波 一般带有功能的引脚是3.3V不要输入5V到这些IO口降压芯…...

从能算到秒杀:完全平方数与最少数量的数学真相

LeetCode Hot 100 刷题笔记 第 15 篇如果说「跳跃游戏 II」是在教你 什么时候不得不跳&#xff0c;那 279. 完全平方数​ 就是在考你&#xff1a;最少能用几个平方数&#xff0c;凑出一个整数&#xff1f;这也是我第一次意识到&#xff1a;有些动态规划&#xff0c;其实是在替…...

Unity编辑器性能优化:工作流、场景与预制体三大资源创建瓶颈

1. 为什么编辑器资源创建环节是Unity性能优化的“隐形地雷区”很多人一提Unity性能优化&#xff0c;第一反应就是Profiler里看Draw Call、GC Alloc、CPU耗时&#xff0c;或者去改Shader、压贴图、拆合批。这没错&#xff0c;但90%的团队在项目中后期卡顿频发、打包失败、CI构建…...

Unity TMP InputField光标稳定方案:字体、渲染与输入法深度适配

1. 为什么InputField光标会“消失”、错位、卡死——不是Bug&#xff0c;是渲染管线的底层博弈 你有没有在Unity项目里遇到过这样的场景&#xff1a;UI界面一切正常&#xff0c;唯独InputField的光标不显示&#xff1b;或者光标明明在文字末尾&#xff0c;点击却跳到中间&#…...