压力测试工具Apache JMeter:11:搭建容器化分布式测试环境

在这里插入图片描述
Apache JMeter是一个纯Java开发的用于负载测试或者性能测试的开源软件。这篇文章介绍一下建立基于JMeter的一主多从的容器化压测环境。

基于Alpine的JMeter镜像

关于基于Alpine基础的JMeter镜像相关的介绍和使用方式,可以参看如下内容:

  • https://blog.csdn.net/liumiaocn/article/details/101919657

基于容器的分布式压测环境

在JMeter创建的容器化的分布式压测环境中通过JMX定义压测内容,通过卷交换数据,使用Master节点进行作业的分配,在Slave节点上运行具体的压测内容。一个非常简单的一主多从构成的容器化分布式压测环境可以参看下图。
在这里插入图片描述

测试环境说明

本文使用一个Master节点,3个Slave节点形成的1主三从的分布式测试环境,为了简单演示使用的是同一台机器,具体构成如下所示

类型 IP 端口 说明
Master节点 192.168.31.242 - 用于控制的Master节点
Slave节点-1 192.168.31.242 31099 用于进行压测的Slave节点1
Slave节点-2 192.168.31.242 31020 用于进行压测的Slave节点2
Slave节点-3 192.168.31.242 31021 用于进行压测的Slave节点3

镜像下载

liumiaocn:~ liumiao$ docker pull liumiaocn/jmeter:5.1.1
5.1.1: Pulling from liumiaocn/jmeter
9d48c3bd43c5: Already exists 
b2da696b9ce3: Pull complete 
Digest: sha256:bd7bb96d90b5ac7c8f72f147fc0b063bf845aa5f8daee48a1c525a1479d27d91
Status: Downloaded newer image for liumiaocn/jmeter:5.1.1
liumiaocn:~ liumiao$ docker images |grep jmeter |grep 5.1.1 |grep liumiaocn
liumiaocn/jmeter                                5.1.1                           9e0fdc73a1d9        8 hours ago         190MB
liumiaocn:~ liumiao$ 

Slave节点设定与启动

在本文的示例中,只需要分别在启动如下三个jmeter的Slave压测实例即可:

  • Slave节点-1

启动命令:docker run -d -p 31099:1099 liumiaocn/jmeter:5.1.1 jmeter -Dserver.rmi.ssl.disable=true -s -j /tmp/jmeter-slave.log

  • Slave节点-2

启动命令:docker run -d -p 31020:1099 liumiaocn/jmeter:5.1.1 jmeter -Dserver.rmi.ssl.disable=true -s -j /tmp/jmeter-slave.log

  • Slave节点-3

启动命令:docker run -d -p 31021:1099 liumiaocn/jmeter:5.1.1 jmeter -Dserver.rmi.ssl.disable=true -s -j /tmp/jmeter-slave.log

启动示例结果如下所示:

liumiaocn:~ liumiao$ docker run -d -p 31099:1099 liumiaocn/jmeter:5.1.1 jmeter -Dserver.rmi.ssl.disable=true -s -j /tmp/jmeter-slave.log
f033f1166b50dae6526f125a4ae09c920aba29c07026a524794faba5d94e233d
liumiaocn:~ liumiao$ docker run -d -p 31020:1099 liumiaocn/jmeter:5.1.1 jmeter -Dserver.rmi.ssl.disable=true -s -j /tmp/jmeter-slave.log
0f2c01b91646e374216d792352c1d63267ef246cfc8eec49d157c4ff0d77203e
liumiaocn:~ liumiao$ docker run -d -p 31021:1099 liumiaocn/jmeter:5.1.1 jmeter -Dserver.rmi.ssl.disable=true -s -j /tmp/jmeter-slave.log
c168ec47eeca665af7a418ea2d531a8c22fc96a07442cc3c66dd48f2448658c1
liumiaocn:~ liumiao$

启动之后可以使用下述docker ps命令确认Slave节点服务运行状态

liumiaocn:~ liumiao$ docker ps |grep jmeter
c168ec47eeca        liumiaocn/jmeter:5.1.1    "jmeter -Dserver.rmi…"   36 seconds ago      Up 36 seconds       0.0.0.0:
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Linux环境搭建JMeter分布式压测环境时,可能会遇到一些问题。其中一个常见问题是启动./jmeter-server时出现"Cannot start. localhost.localdomain is a loopback address"的错误信息。解决这个问题的方法是编辑jmeter-server文件,设置固定的代理服务器主机IP。具体步骤如下: 1. 打开Linux中的jmeter-server文件: ``` cd /opt/apache-jmeter-4.0/bin vi jmeter-server ``` 2. 在jmeter-server文件中找到RMI_HOST_DEF这一行,并取消注释: ``` # One way to fix this is to define RMI_HOST_DEF below RMI_HOST_DEF=-Djava.rmi.server.hostname=192.168.248.130(当前机器ip) ``` 将当前Linux主机查询到的IP地址填入RMI_HOST_DEF的值中。 另外,还需要确保CLASSPATH环境变量正确设置。可以使用以下命令设置CLASSPATH: ``` export CLASSPATH=${JMETER}/lib/ext/ApacheJMeter_core.jar:${JMETER}/lib/jorphan.jar:$JMETER/lib/logkit-2.0.jar:${CLASSPATH} ``` 此外,还需要在jmeter.properties文件中进行一些配置。可以通过编辑jmeter.properties文件,将以下配置项设置为true: ``` jmeter.save.saveservice.output_format=xml jmeter.save.saveservice.response_data=true jmeter.save.saveservice.samplerData=true jmeter.save.saveservice.requestHeaders=true jmeter.save.saveservice.url=true jmeter.save.saveservice.responseHeaders=true ``` 通过以上步骤,你就可以在Linux环境下成功搭建JMeter分布式压测环境了。 #### 引用[.reference_title] - *1* [Linux环境搭建jmeter分布式压测](https://blog.csdn.net/shanezhijian/article/details/124668524)[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^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Jmeter分布式压测环境搭建](https://blog.csdn.net/weixin_51084345/article/details/127261500)[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^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值