JMeter集群搭建&分布式测试

2 JMeter集群搭建&分布式测试

一、集群搭建

  1. 使用3台linux服务器作为集群进行集群搭建「linux和本地IP不同域,数据不能回流<忽略>
  2. 下载jdk「master主机版本不要太高,目前使用的是1.8.0_301」和jmeter「版本5.4.1」,放到统一的目录下方便维护「/root/env」
  3. 下载的文件为压缩包格式,需要使用tar命令对其进行解压

Apache

tar -zxvf jdk-8u301-linux-x64.tar.gz

tar -zxvf apache-jmeter-5.4.1.tgz

解压完成后配置环境比那里,这里修改~/.bashrc

Apache

# java series

JMETER_HOME=$HOME/env/apache-jmeter-5.4.1

JAVA_HOME=$HOME/env/jdk1.8.0_301

PATH=$PATH:$JAVA_HOME/bin:$JMETER_HOME/bin

export PATH

export JAVA_HOME

  1. 编辑完成后使用source命令ling令其生效,然后输入echo $PATH和echo $JAVA_HOME进行验证设置是否正确
  2. 测试需要用到的数据放到指定定路径「/root/env/auto/Jmeter/data」具体数据按照路径进行划分,编写csvreader时使用相对路径即可
  3. Master机器配置:
  4. 修改apache-jmeter-5.4.1 /bin/jmeter.properties

Bash

# 远程slave,如果需要的话可以把自己的IP也加上

remote_hosts=10.x.xx.xx

server.rmi.ssl.disable=true

# set jmeter visible properties

jmeter.save.saveservice.bytes=true

jmeter.save.saveservice.sent_bytes=true

jmeter.save.saveservice.label=true

jmeter.save.saveservice.latency=true

jmeter.save.saveservice.response_code=true

jmeter.save.saveservice.response_message=true

jmeter.save.saveservice.successful=true

jmeter.save.saveservice.thread_counts=true

jmeter.save.saveservice.thread_name=true

jmeter.save.saveservice.time=true

jmeter.save.saveservice.connect_time=true

# Timestamp format - this only affects CSV output files

# legitimate values: none, ms, or a format suitable for SimpleDateFormat

jmeter.save.saveservice.timestamp_format=ms

jmeter.save.saveservice.timestamp_format=yyyy/MM/dd HH:mm:ss.SSS

修改apache-jmeter-5.4.1 /bin/jmeter-server

Bash

# hostname为当前设备的IP地址

RMI_HOST_DEF=-Djava.rmi.server.hostname=10.x.xx.xx

Slave机器配置:

  1. jmeter.properties中只要将remote_hosts保持默认127.0.0.1不变,其他设置与Master配置保持一致
  2. jmeter-server与Master配置保持一致
  • 配置部分结束,以上「除了data部分」都是一次性的操作,操作仅供参考,如果没有需求,不要随便修改配置信息!!!
  • 配置从机的环境已经写好了部署环境的脚本: https://slowisfast.feishu.cn/drive/folder/fldcnQLG1u7klk8g0PgCEtJKN6b,下载好脚本后根据环境执行「windows执行build.bat|linux/mac执行build.sh」;master的配置需要先执行build脚本,然后按照「一、集群搭建 -> 7 Master机器配置」修改配置接口

二、工具准备

  1. 首先我们需要连接远程设备,需要用到ssh相关的内容,这里推荐下载vscode作为我们的工具协助测试,下载链接:https://az764295.vo.msecnd.net/stable/7f6ab5485bbc008386c4386d08766667e155244e/VSCodeUserSetup-x64-1.60.2.exe「如果觉得下载速度比较慢可以替换域名:vscode.cdn.azure.cn」
  2. 安装好之后需要用到一些插件,其中目前可以用到的就是Remote-ssh(远程连接ssh插件)、rainbow csv(csv高亮显示插件)、Edit csv(编辑csv文件的插件)「点击左侧插件小方块的图标 >> 搜索插件名称 >> 选择需要的插件安装 >> 安装好ssh后左侧会有一个电脑的图标就表示安装成功了,其他插件提示安装成功即可」
  3. 配置远程连接信息

步骤:

  1. 将鼠标悬浮在SSH TARGETS上面或者点击SSH TARGETS直到显示右侧的菜单按钮
  2. 点击小齿轮按钮
  3. 选择.ssh/config的选项「前面的用户名不用管,这个是计算机的用户」
  4. 编辑连接信息后保存「IdentityFile是连接证书的地址,这里根据具体的位置修改,下载证书后自己找个位置存放,建议放到用户下的.ssh文件夹下面统一管理比较好一点,然后修改IdentityFile后面的路径,IdentityFile在windows直接写绝对路径,例如C:\Users\Administor\.ssh\jmeter_remote.pem

Apache

Host jmeter_10.1.60.7_M

  HostName 10.1.60.7

  User root

  IdentityFile ~/.ssh/jmeter_remote.pem

Host jmeter_10.1.60.13_S

  HostName 10.1.60.13

  User root

  IdentityFile ~/.ssh/jmeter_remote.pem

Host jmeter_10.1.60.14_S

  HostName 10.1.60.14

  User root

  IdentityFile ~/.ssh/jmeter_remote.pem

Host jmeter_10.1.60.17_S

  HostName 10.1.60.17

  User root

  IdentityFile ~/.ssh/jmeter_remote.pem

Host jmeter_10.1.60.4_S

  HostName 10.1.60.4

  User root

  IdentityFile ~/.ssh/jmeter_remote.pem

三、分布式测试

  1. 使用vscode连接jmeter集群「点击框中的图标即可连接,首次连接可能需要在远程装一些内容,可以稍微等待一下」

 2.连接成功后左下角会显示对应的信息「点击左上角的文本按钮,会打开资源管理器,然后点击打开管理器可以查看linux里面的文件,然后以目录树的形式展示,这也是vscode插件的一大亮点」

    

3.连接好3台设备后,将jmx脚本放到Master的Jmeter目录下、csv数据放到Master以及Slave的data目录下然后在Slave机器上使用快捷键ctrl + ~打开命令行窗口,cd /root/env/auto/Jmeter进入对应目录后输入jmeter-server启动服务

 4.在Master机器上,进到要执行jmx的目录「或者-t参数直接输入具体jmx 的路径也可以」,输入命令开始测试「jmx是脚本的位置,根据具体场景输入对应的jmx路径进行运行」

Bash

jmeter -n -t wego.jmx -l res.csv -r

5.运行完成后,Master查看jmeter.log,Slave查看jmeter-server.log,看运行过程中服务有没有异常

​​​​​​​

6.将csv内容转成html报告

Bash

jmeter -g res.csv -o report

7.查看html报告「在Master10.1.60.7主机上查看,Master主机里装了html预览插件,『不过这个插件在点击按钮的时候有点问题,后续采用live server的方式方式访问「右键html文本内容区域,选择Open with Live Server进行打开」』」

Bash

jmeter -n -t wego.jmx -r -l res.csv -e -o report

  • 18
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要搭建Jmeter分布式压测集群,您需要按照以下步骤进行配置: 1. 下载Jmeter安装包,并在所有机器上进行安装。 2. 配置调度机: a. 启动Jmeter-server.bat文件。 b. 在控制机上编写完测试脚本后,点击运行。 c. 确保调度机和执行机在同一局域网中。 3. 配置执行机: a. 打开Jmeter的安装目录中的bin目录下的Jmeter.properties文件。 b. 找到remote_hosts配置项,将其修改为执行机的IP地址和端口号。 c. 启动Jmeter-server.bat文件。 4. 执行压力测试: a. 在控制机上启动jmeter.bat文件。 b. 打开测试计划,配置相关参数,如请求的URL、线程数、持续时间等。 c. 运行测试计划。 这样,您就成功搭建了Jmeter分布式压测集群,多台机器将同时发起请求,以实现更高的并发量和负载测试能力。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Jmeter搭建分布式集群压测实战](https://blog.csdn.net/tiantianquan51/article/details/130576373)[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_2"}}] [.reference_item style="max-width: 50%"] - *2* [linux下Jmeter分布式压测](https://download.csdn.net/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_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值