简述JMeter实现分布式并发及操作

news2025/2/24 18:08:53

为什么要分布式并发?

JMeter性能实践过程中,一旦进行高并发操作时就会出现以下尴尬场景,JMeter客户端卡死、请求错误或是超时等,导致很难得出准确的性能测试结论。

目前知道的有两个方法可以解决JMeter支撑高并发:

一是将JMeter部署在Linux服务器上,可以支撑的并发量远大于windows客户端,极少出现JMeter客户端卡死的情况;

另外一种方式就是今天要介绍的分布式。

简单来说,分布式就是将一次大的操作分布在多个服务器上,由多个服务器来承担负载压力。分布式并发的原理详见下图:在这里插入图片描述

分布式并发实现步骤

打开JMeter,在运行->远程启动,可以看到只有“127.0.0.1”因此首先要在主压力机上配置远程负载机的IP,配置步骤如下:

1、Master(主压力机)在jmeter.properties中添加remote_hosts。

配置路径:…\apache-jmeter-3.2\bin 路径下的jmeter.properties。

remote_hosts=127.0.0.1 后面增加远程负载机的ip和端口号,如果需要添加多个,用逗号分隔就可以。

例如:remote_hosts=192.168..:1099,192.168..**:1099。

2、Slave(远程负载机)在jmeter.properties中添加server_port:

server_port=1099
server.rmi.localport=1099

备注:这里的端口号可以自定义,只要与主压力机里面配置的一致即可。

3、Slave(远程负载机)启动Jmeter-server,启动成功后如下图所示:在这里插入图片描述

 配置完成后重启主压力机,查看远程启动,可查看到配置的远程负载机IP,如下图:在这里插入图片描述

添加一个接口,进行远程启动:

1、添加一个线程组,然后添加一个Sampler里的HTTP请求:在这里插入图片描述

2、以百度为例,添加监听器->查看结果树:在这里插入图片描述
3、点击运行->远程全部启动,运行后查看结果树:
在这里插入图片描述 

截至目前,分布式并发的配置已经完成,如果需要添加多台远程负载机,重复以上操作即可。

遇到问题

配置过程虽然很简单,但是也不是一帆风顺,在远程启动时遇到了拒绝连接的问题,如下截图显示:在这里插入图片描述

遇到这种情况时,可能存在多种因素,可以参考以下步骤逐一排查:

1、远程负载机的Jmeter-server是否启动成功;

2、远程负载机是否处于联网状态;

3、防火墙是否处于关闭状态;

4.主压力机和远程负载机的JMeter版本是否一致。

在实战过程中也出现了这个问题,经过一番排查终于找到问题原因,是因为远程负载机上启动JMeter时,用jmeter.bat进行的启动,而不是jmeter-server.bat。

希望大家不要犯这样低级的错误。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/743588.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux常用命令——env命令

在线Linux命令查询工具 env 显示系统中已存在的环境变量 补充说明 env命令用于显示系统中已存在的环境变量,以及在定义的环境中执行指令。该命令只使用"-“作为参数选项时,隐藏了选项”-i"的功能。若没有设置任何选项和参数时,…

含多类型充电桩的电动汽车充电站优化配置方法(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

用github的copilot;tmux中进去了> 怎么退出

1、首先要学籍认证 (前提:(241条消息) Copilot使用的关卡——GitHub教育认证方法和注意事项_github教师认证_石去皿的博客-CSDN博客) 网址:Are you a student? - GitHub Education (241条消息) GitHub学生认证,可…

uniapp 集成 Android Studio 使用原生插件

uniapp 集成 Android Studio 使用原生插件 前期工作 下载 Android Studio下载 HbuilderX 对应的 App离线SDK 准备集成 打开选中项目选中其中的模块文件夹在该文件夹下的libs目录下添加需要使用的jar包(一般是第三方设备平台提供)在该文件夹下的src\m…

UNI-APP_APP(webview)集成X5内核

官方文档:https://uniapp.dcloud.net.cn/tutorial/app-android-x5.html 腾讯TBS x5内核仅支持Android平台。iOS只能使用自带的WKWebview 打开项目的manifest.json文件,在“App模块配置”中勾选“Android X5 Webview(腾讯TBS)”: 勾选Andro…

通过git管理远程gitee仓库(push、pull)

通过git管理远程gitee仓库(push、pull) Git:是一种分布式版本控制系统,用于跟踪和管理软件开发项目的源代码和文件。它可以记录文件的修改历史,允许多人协同工作,并提供了撤销更改、分支管理、合并代码等功能。 Git最初…

交换的介绍

目录 1.配置 2.将接口划分的对应的LAN中 开始分配 跨网段的通讯——需要借助路由器 交换——交换机相关的技术 VLAN——虚拟局域网 LAN——局域网 MAN——城域网 WAN——广域网 一个VLAN相当于是一个广播域 VLAN——通过路由器和交换机协同工作后,将原本的…

c++11 标准模板(STL)(std::basic_istream)(五)

定义于头文件 <istream> template< class CharT, class Traits std::char_traits<CharT> > class basic_istream : virtual public std::basic_ios<CharT, Traits> 类模板 basic_istream 提供字符流上的高层输入支持。受支持操作包含带格式…

java项目之二手交易平台网站(ssm+mysql+jsp)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的二手交易平台网站。技术交流和部署相关看文章末尾&#xff01; 开发环境&#xff1a; 后端&#xff1a; 开发语言&#xff1a;Java 框架…

Android小白开发注意事项

1.设置第三方依赖包 2.第一次加载编译 3.apk打包 这个签名文件的密码在app级别的build.gradle里面 然后下一步选你要打的环境的包&#xff0c;release是发行包&#xff0c;一个给别人安装打这个&#xff0c;debug是调试包&#xff0c;会比release包大&#xff0c;并且会有点卡一…

vue3中的生命周期

一、vue3中的选项式生命周期 Vue 3中的选项式生命周期钩子基本上与Vue 2保持一致&#xff0c;它们都是定义在Vue实例的对象参数中的函数&#xff0c;它们在Vue实例的生命周期的不同阶段被调用。简单来说&#xff0c;生命周期钩子就是Vue.js特别提供的一些函数&#xff0c;会在…

服务级别协议 (SLA)管理

随着业务不断扩展以满足不断增长的客户需求&#xff0c;网络必须与相关需求保持同步。此外&#xff0c;对增强最终用户体验的需求在监控企业级网络时造成了许多瓶颈。网络管理员必须不断检查他们的网络&#xff0c;以确保所提供的服务质量很好。 虽然很难确保所提供的服务质量…

生成式AI:大语言模型ChatGPT交互的机制

推荐&#xff1a;将NSDT场景编辑器加入你的3D工具链 3D工具集&#xff1a;NSDT简石数字孪生 与 ChatGPT 有效交互的快速工程 随着生成式人工智能的普及&#xff0c;特别是 ChatGPT&#xff0c;提示已成为人工智能世界中越来越重要的技能。制作提示&#xff0c;与大型语言模型&…

Flowable开始事件-信号开始事件

信号开始事件 信号开始事件一、定义1. 图形标记2. XML标记 二、测试用例2.1 信号开始事件xml文件2.2 信号开始事件测试用例 总结 信号开始事件 一、定义 接受特定的信号发起流程实例。 1. 图形标记 2. XML标记 消息开始事件的XML <!-- 定义信号 --> <signal id&quo…

MySQL(2)

建表 mysql> create table work(-> ‘部门号’ int(11) not null,-> ‘职工号’ int(11) not null,-> ‘工作时间’ date not null,-> ‘工资’ float(8,2) not null,-> ‘政治面貌’ varchar(10) not null default 群众,-> ‘姓名’ varchar(20) not nu…

数据结构与算法——什么是数据结构

当你决定看这篇文章&#xff0c;就意味着系统学习数据结构的开始。下面我们先来讲什么是数据结构。 数据结构&#xff0c;直白地理解&#xff0c;就是研究数据的存储方式。 我们知道&#xff0c;数据存储只有一个目的&#xff0c;即为了方便后期对数据的再利用&#xff0c;就如…

Pandas和Polars之间语法和速度比较

大家好&#xff0c;Pandas是数据科学中必不可少的Python库&#xff0c;但其最大的缺点是对大型数据集的操作速度较慢。Polars是一种旨在更快地处理数据的Pandas替代方案。 本文将简要介绍Polars Python包&#xff0c;并将其与流行的数据科学库Pandas在语法和速度方面进行比较。…

Spring WebFlux 实现原理与架构图

启动原理与架构图 通过spring-boot-autoconfigure中的spring.factories文件&#xff0c;通过Spring Boot自动初始化下列类&#xff1a;HttpHandlerAutoConfiguration、ReactiveWebServerFactoryAutoConfiguration、WebFluxAutoConfiguration、ErrorWebFluxAutoConfiguration、…

问题解决:idea克隆项目依赖无法解析

问题描述尝试解决方案 问题描述 从git远程仓库clone了一个springboot项目, 然后项目的pom.xml文件的依赖全部加载失败,全部是Project 某某某依赖 not found 的错误,几十条 代码就更不用看了,只要用到依赖,全部报错. 看着报错就头大 尝试解决方案 检查maven配置是否正确 检查是…

国内首个多主架构方案发布:数据库产业生态的一次开放式升维

文 | 智能相对论 作者 | 叶远风 作为数字化变革最仰仗的基础设施之一&#xff0c;数据库的建设已经成为当下的热点。 长期以来&#xff0c;通过数据库的自主创新来保证数据基础设施的安全可控&#xff0c;一直是业界以及众多行业客户的普遍愿望。 但是&#xff0c;这一进程…