搭建JMeter分布式测试环境

本文详述了如何搭建JMeter的分布式测试环境,包括准备测试环境、设置主控和工作节点、执行测试和问题解决。在分布式测试中,主控节点通过RMI与工作节点通信,确保所有节点使用相同版本的JMeter和Java。测试时,主控节点非GUI模式启动,分发测试任务给工作节点执行。
摘要由CSDN通过智能技术生成

分布式测试概述

现在我们来了解如何使用多台机器来执行压力测试,也就是所谓的分布式测试。当我们模拟大量的并发虚拟用户时,比如我们要起10万、100万甚至更多的并发用户时,一台负载机器可能就满足不了我们需要的用户量。此时,就需要使用多台主机搭建一套多节点的分布式性能测试环境,使得我们可以执行大规模并发测试。这是执行分布式性能测试的基本原因。当然可能还有其他一些场景,比如我们可以建立一套测试云平台,也需要搭建分布式测试环境,来满足多租户需求。

在搭建JMeter分布式测试环境和利用该环境执行性能或压力测试时,首次需要执行的操作包括:

  1. 准备测试环境,主要是准备用于运行JMeter进程的机器,可以是Windows机器,也可以是Unix类机器包括Linux操作系统的机器。包括安装部署JMeter及依赖的Java环境。第一次准备之后,后面的测试就可以复用这些环境了
  2. 设置分布式环境没台机器上的JMeter节点的配置
  3. 准备要运行的测试脚本。可在JMeter的GUI界面上,先编好测试计划,然后下载到分布式环境中的主控制节点上。此处要主次使用的JMeter的版本要匹配,否则可能产生莫名错误
  4. 启动分布式测试
  5. 查看和分析测试结果
  6. 可能需要进行一些问题处理或服务器调优。如果压力不够,可能还需要增加机器,此时可以参考步骤1中的操作了

准备测试环境

和其他分布式系统类似,使用JMeter搭建分布式测试系统,结构也基本是一主多从的架构,包括一台主控制节点,多个工作节点。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TeEBtme2-1631887093763)(./imgs/distributed-names.svg)]

在开始执行分布式测试之前,首先要准备负载机器。作为实践案例,我们使用三台Linux机器构建一个分布式测试环境,构建一主二从的结构。在执行测试时,由JMeter 主控制器节点(主节点)在多个工作节点(从节点)上启动测试。使用ifconfig命令查看机器的ip地址,记录IP地址备用。本例使用的三台机器ip地址分别为
192.168.1.180、192.168.1.181、192.168.1.182,其中将192.168.1.180作为主节点。

首先对三台服务器执行下述检查:

  • 系统上的防火墙已关闭或打开了正确的端口。在实验环境下,可以关闭防火墙;在正式的测试环境下,建议不要关闭防火墙,打开相关的端口即可
  • 所有负载机器都在同一个子网上,确保可以互通
  • 确保三台负载机可以访问被测服务器
  • 确保在所有系统上使用相同版本的 JMeter 和 Java。混合版本将无法正常工作
  • 已经为 RMI 设置了 SSL或禁用SSL。参考远程测试

设置分布式环境

设置主控节点

完成上述测试环境准备和检查工作后,需要在主节点上进行如下设置。主控节点有时成为client节点,因为相对工作节点来说,它就是一个client,而工作节点是server节点。

在作为控制台的控制器节点(192.168.1.180)上,在jmeter/bin目录打开jmeter.properties进行编辑。
首先找到remote_hosts,设置为remote_hosts=192.168.1.181,192.168.1.182,其次,设置client.rmi.localport的值,表示控制节点将使用这个指定的端口与工作节点通信。其他设置使用默认值。

remote_hosts=192.168.1.18
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值