如何高效搭建 JMeter 集群压测环境

JMeter 是一款非常受欢迎的压力测试工具,但是在大规模压力测试时,单机运行已经无法满足需求了。为了提高负载能力,我们需要搭建 JMeter 集群。下面,我们来看具体的做法。

第 1 步:准备服务器

在搭建集群前,您需要准备多台服务器,并且这些服务器需要满足以下要求:

  • 安装了 Java 运行环境。
  • 确保服务器之间可以相互通信,例如使用 SSH 或 RDP。

第 2 步:安装 JMeter

在这些服务器上安装 JMeter。从官网下载最新的 JMeter 安装包并安装。

安装完成后,您需要设置 JMeter 的环境变量:

1、在 ~/.bashrc 中加如下内容:

python 复制代码
export JMETER_HOME=JMeter所在目录
export PATH=$JAVA_HOME/bin:$PATH:.:$JMETER_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$JMETER_HOME/lib/logkit-2.0.jar

2、让终端的配置生效:

python 复制代码
source ~/.bashrc

第 3 步:配置 JMeter 集群

JMeter 做集群压测时,选择其中一台作为调度机(master),其它机器做为执行机(slave)。master 会把脚本发送到每台slave上,slave 拿到脚本后就开始执行。执行完成后,slave会把结果回传给master,master会收集所有 slave 的信息并汇总(也就是说聚合报告会在你的master上面统一展示)。具体配置方法如下。

slave 的配置

修改 JMeter 的配置文件 jmeter.properties,改动如下:

python 复制代码
remote_hosts=master的IP
server_port=1099
server.rmi.localport=1099

server_port 和 server.rmi.localport 是 slave 的启动端口。

多台 slave 的话,重复上面步骤进行配置。

mster 的配置

修改 JMeter 的配置文件 jmeter.properties,改动如下:

python 复制代码
remote_hosts=slave1的ip:端口,slave2的ip:端口

多个 slave 的地址用, 分隔。

第 4 步:编写测试计划

在配置好 JMeter 集群后,您需要编写 测试 计划。在编写测试计划时,需要注意以下几点:

  • 将"线程组"设置为远程服务器。
  • 将"监听器"设置为"分布式监听器"。

第 5 步:启动测试

完成测试计划的编写后,您可以启动测试并监控测试结果。可以选择远程启动所有,或远程启动指定的几个。

在测试过程中,您可以实时查看各个客户端的状态和性能指标。

结论

搭建 JMeter 集群并不是一件很困难的事情。通过本文所述的步骤,您可以快速搭建一个高效的 JMeter 集群压测环境,提高测试效率和质量。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
小oo呆7 小时前
【学习心得】Python多线程
python
可爱系程序猿8 小时前
佳能 MF645Cx Windows 11 驱动下载安装:UFR II 队列可打印但扫描入口缺失的排查
程序人生·电脑·1024程序员节
星夜离尘5611 小时前
MATLAB 工程实验:不等间隔流量积分,先把缺口与覆盖率说清楚
开发语言·matlab·时间戳·数据质量·数值积分
happylifetree11 小时前
Python70:核心语法-函数进阶-案例2
python
Ai-_Man11 小时前
Meta Muse还是不可以导出左侧所有对话,只能点进去单条内容导出,方法不对吗?
开发语言·人工智能·ai·小程序·c#·1024程序员节
梓豪csd11 小时前
消息订阅中心:谁该收到哪条通知
java·开发语言·人工智能·低代码·自动化·1024程序员节
王中阳Go11 小时前
两个入口答案不一致先别调模型:6 行入口口径对账表(附脚本)
人工智能·后端·python·大语言模型·1024程序员节
BK贝壳11 小时前
bool-hybrid-array 落盘我只认 .bha:用 Create_BHA / Ask_BHA 做布尔数组序列化
数据结构·python·numpy·1024程序员节
学逆向的12 小时前
C 枚举变量
c语言·开发语言·网络安全
Sakura_j_h_12 小时前
Python 在定时任务里输出 emoji,UnicodeEncodeError 从哪来
开发语言·字符编码·windows·python·定时任务