Jmeter分布式部署性能压测-并解决连接不上Slave负载机原因【windows/linux】

本文详细介绍了如何使用JMeter进行分布式压力测试,以解决单台压测机性能瓶颈问题。内容包括分布式压测的原因、JMeter分布式原理、环境准备、配置步骤、密钥生成与授权,以及启动和监控负载机。强调了负载机和控制机的配置一致性、网络互通性、端口设置等关键点,旨在帮助读者实现更接近真实情况的压力测试效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.目的

a.单台压测机通常会遇到客户端瓶颈,对于请求量/并发量很大的情况需求受制于客户机的性能。可能由于网络带宽,CPU,内存的限制不能给到服务器足够的压力.
b.这个时候你就需要用到分布式方案来解决客户机的瓶颈,压测的结果也会更加接近于真实情况.
c.随并发用户数量增加,单台压力机已经没法满足用户的业务需求,所以,需要通过分布式多台压测机.

2.Jmter分布式原理

a、Jmeter分布式测试时,选择其中一台作为调度机(master),其它机器做为执行机(slave)。
b、执行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行,slave执行时不需要启动GUI,我理解它应该是通过命令行模式执行的。
c、执行完成后,slave会把结果回传给master,master会收集所有slave的信息并汇总。
在这里插入图片描述

3.环境准备

a.JDK版本最好一致(不一致也行,大版本一致就行,比如1.8/1.7)
b.Jmeter版本一致,插件一致,csv文件,保存路径一致等(我这里用的jmeter4.0)
c.jmeter分布式可以跨系统配置 不论是windows还是linux都可以
b.同一局域网,准备负载机器2/3台或者更多(linux/windows都行)

4.控制机部署

a.打开JMeter/bin/jmeter.properties并编辑这里是引用

b.全局搜索下ssl.disable 然后改成true
在这里插入图片描述
.
c. 为了避免后续压测时开不到负载机的响应结果,需要更改jmeter.propertoes文件,按照下图操作就能解决
在这里插入图片描述

5.Linux负载机部署(多台同理)

a.linux打开JMeter/bin/jmeter.properties并编辑(这里的jmeter版本和控制机的一致)
在这里插入图片描述
在这里插入图片描述
c.linux负载机启动jmeter-server时可能会报错 编辑文件 vim jmeter-server
在这里插入图片描述

6.Windows部署成负载机(多台同理)

a.和控机一样配置,步骤还是打开JMeter/bin/jmeter.properties并编辑
b.注意这里,负载机,只用配置自己的ip和端口就可以了(端口自定义都行)
c.每个ip对应的不同的网段,这个确认清楚在这里插入图片描述
.
.
##和控机一样配置,步骤还是打开JMeter/bin/jmeter.properties并编辑
在这里插入图片描述
在这里插入图片描述

7.控制机生成密匙-负载机授权-分布式才能正常实现

a.接下来因为jmeter4.0版本及以上时,为了安全 分布式压测需要一个密匙才能正常实现
b.打开控制机的bin目录运行create-rmi-keystore.bat
在这里插入图片描述
.
c.然后找到jdk并进入jdk\bin目录
在这里插入图片描述
.
d.完成后,会生成一个jks文件
在这里插入图片描述
.
f.然后将这个文件,复制粘贴给所有负载机中的jmeter\bin目录下面(Windows、linux同理)
案例:↓

在这里插入图片描述

8.运行所有负载机和控制机jmeter-server

a.linux运行方式:↓ (可能会出现提示权限问题,赋予权限chomd -R 777 xxxx再次运行就行了)
在这里插入图片描述
.
b.Windows运行方式: ↓
在这里插入图片描述

注意控制机也要启动jmeter-server(所有机器启动完后就可以开始测试了)

a. 打开控制机的jmeter(选择远程启动某个负载机或者远程启动全部负载机,如果想终止,就点停止)
在这里插入图片描述
.
b.演示:
在这里插入图片描述在这里插入图片描述
.
e.我们再来看看是不是真的有用的负载机的资源
在这里插入图片描述
.
f.做个对比,可能因为量小,不是很显著,但还是看得出来
在这里插入图片描述

##注意事项

1.同个局域网、ip端口要设置对
2.负载机和控制机启动jmeter-server挂后台
3.jmeter、jdk同版本、特别是jmeter脚本中如有同csv或者引用文件变量什么的,负载机和控制机都要有,且路径是一致
4.关闭防火墙systemctl stop firewalld
5.检查是否可以telnet通和互相ping通
.还有一些细节问题,多注意,不懂可以评论询问

最后发现了一个有趣问题,你负载机的jmeter-server窗口-如果不是点最小化-而是直接点了其他程序占用后,控制机再向负载机发送请求就会卡住,无法连接到负载机了,所以如果负载机是其他同事在用的电脑,就最小化
在这里插入图片描述

要进行JMeter分布式部署,可以按照以下步骤进行操作: 1. 首先,确保已经下载安装了JMeter。你可以从官方网站上找到详细的安装步骤。 2. 进入JMeter的安装目录,可以使用命令`cd /usr/local/apache-jmeter-5.3/bin`。 3. 在JMeter的安装目录下,找到`jmeter.properties`文件进行配置。该文件包含了JMeter的各种配置项,包括分布式的相关配置。你可以根据需要修改这些配置项,以满足你的需求。 4. 配置调度。在JMeter分布式中,调度负责控制整个过程。你需要在调度上启动JMeter配置调度的信息,如IP地址、端口等。具体的配置步骤可以参考官方文档。 5. 配置执行。执行是实际执行任务的器。你需要在执行上启动JMeter设置执行的信息,如IP地址、端口等。执行会接收调度发送的任务,按照任务进行。同样,具体的配置步骤可以参考官方文档。 6. 配置Jenkins、Grafana和Prometheus等工具。这些工具可以帮助你更方便地进行任务的管理和监控。你可以将JMeter与这些工具集成,以便更好地监视和分析结果。 通过以上步骤,你就可以完成JMeter分布式部署的配置。在进行之前,确保所有的器都已正确配置,且可以相互通信。这样,你就可以开始进行分布式了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【性能试】JMeter分布式部署](https://blog.youkuaiyun.com/weixin_46361114/article/details/121777501)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Jmeter 分布式部署](https://blog.youkuaiyun.com/weixin_47498496/article/details/112542828)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [linuxJmeter分布式](https://download.youkuaiyun.com/download/weixin_38695159/14053948)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值