• 0
  • 0
分享

当面对大量用户模拟和性能测量需求时,单台计算机运行 JMeter 往往显得力不从心。因此,构建一个多节点的JMeter集群成为了一种提升测试性能的有效途径。接下来,本文将详细介绍如何组建和配置一个JMeter测试集群。

一、准备工作:服务器搭建

首先,我们需要数台性能相匹配的服务器,每台服务器都需装备如下:

  • Java运行环境必须预装好。

  • 各服务器间应保持通信畅通,可通过SSH或RDP等手段实现。

二、安装环节:搞定JMeter

接下来,在每台机器上部署JMeter。可从JMeter的官方网站下载最新版本的安装包并顺利安装。

安装后务必配置 环境变量,操作如下:

在服务器的 ~/.bashrc 文件添加以下内容:

export JMETER_HOME=填写JMeter的安装目录export PATH=$JAVA_HOME/bin:$JMETER_HOME/bin:$PATHexport 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


然后,执行以下命令让更改生效:

source ~/.bashrc


三、配置阶段:集群设置

为了实现集群测试,需指定一台服务器作为主控端(master),其他的则作为从机(slave)。主控端负责将测试脚本分发,从机依照脚本进行压测,并将结果回传给主控端。所有从机的测试结果会在主控端处汇总展示。详细配置如下:

从机(slave)配置

编辑JMeter的配置文件 jmeter.properties,并进行如下更改:

remote_hosts=填入主控端的IP地址server_port=1099  # 端口可按需更改server.rmi.localport=1099  # 端口可按需更改


如有多个从机,同样步骤配置每一台。

主控端(master)配置

编辑JMeter的配置文件 jmeter.properties,并进行如下更改:

remote_hosts=从机1的IP地址:端口,从机2的IP地址:端口

若有多台从机,IP地址之间以逗号分隔。


四、测试计划制定

完成集群的设置后,接下来需撰写相应的测试计划。编写测试计划时,请注意:


  • 选择远程线程组。

  • 设置监听器为“分布式监听器”。


五、执行测试

一旦测试计划就绪,便可以启动测试。您可以一次性远程启动所有节点,或有选择地启动某几个。


在测试进行中,主控端允许您实时监控每个从机的状态和性能数据。

六、结论

构建一个JMeter集群的过程十分简单且直接。只需跟随本指南所述步骤操作,您便能迅速建立起一个高效能的JMeter压力测试环境,从而显著提升您的压力测试效率与成果质量。

知识扩展:




  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • ThreadLocal是Java中的一个类,全路径:java.lang.ThreadLocal,用于在多线程环境下存储线程本地变量。在多线程应用程序中,不同线程之间共享数据可能会引发线程安全问题。ThreadLocal通过为每个线程创建独立的变量副本,保证了线程间数据的隔离性,从而有效地解决了这一问题。线程之间的数据访问操作互不影响,提高了多线程应用程序的性能和可靠性。ThreadLocal通常与线程池、异步任务和Web应用程序等场景结合使用,使得在多线程编程时更加方便和安全。虽然ThreadLocal有这么多好处,但在之前的实际使用中用的并不多,只有在性能测试中的随机数性能问题探索和随机方法...
            0 0 612
            分享
          •   由于种种原因,我们可能避免不了需要离线安装selenium。  这不?经过下午几个小时的奋战,终于把selenium到的本地离线终于搞定了。  废话不多说,直接上操作步骤:  1、去官网(下载地址:https://pypi.org/project/selenium/#history)去下载selenium版本。  2、此处强烈大家建议下载selenium的3.0+的版本(此处省略一万字),我给的地址可以让你直接进入选择历史版本的跳转页面。  3、往下拉,到3左右的版本,点击版本信息。(我选择的是3.14.1)  4、页面会跳转到这个版本的详情页面,点击“Download files”按钮,...
            0 0 260
            分享
          • AutoMeter是一款针对分布式服务,微服务API做功能和性能一体的自动化测试平台。针对接口支持分布式功能和性能测试,极大的满足了技术人员的接口测试需求着力解决在系统,项目开发,迭代交付过程中 开发人员,测试人员,技术人员针对系统提供的API做调试,回归测试,性能测试。自动化测试,本质上解决API测试的5大基本问题:1.由什么角色使用?2.在什么环境使用?3.针对什么进行目标?4.做什么样的测试?5.得到什么样的结果?1.运行测试的环境如何定义?一般个人,公司在使用分布式,微服务架构,从开发到发布上线可能会经过多套环境测试验证,比如开发环境,测试环境,准生产环境,生产环境,其中测试环境又可能...
            0 0 2056
            分享
          •   前言  在做Web端自动化中,经常会使用到JS语法来辅助我们定位元素或者来修改元素的一些属性,从而达到自动化用例正常编写,今天安静来介绍下JS通过Selenium在Web端自动化中常用到的场景。  JavaScript  在介绍场景时,先介绍下什么是JS,即JavaScript的简写。一种具有函数优先的轻量级,解释型或即时编译型的编程语言。它是作为开发Web页面的脚本语言而出名。  调用JS元素  既然JS语法可以在Selenium中进行使用,是通过什么来实现的呢?通过WebDriver中的execute_script()的方法来实现JS语法的操作。  那么JS元素在Web端自动化中具体的...
            13 13 1536
            分享
          • 游戏产业分析机构SensorTower近日发布的一份《2022年移动游戏市场展望》报告显示,2022年全球手游市场收入或将达860亿美元,同比下滑2.3%。这不是第一个预测全球游戏市场下滑的报告。今年7月,市场研究公司安培(AmpereAnalysis)的数据显示,在经历7年的连续增长后,游戏市场预计在今年迎来首次下滑,全球电子游戏销售额在2022年预计将下降1.2%至1880亿美元。OpenMediation近日发布的《2022年年中全球手游市场报告》还显示,2022年全球游戏厂商减少1/5,游戏市场表现出明显的缩水,其中腰尾部游戏影响最大。此外,财报显示,如索尼、腾讯这样的全球游戏大厂均在...
            0 0 741
            分享
      • 51testing软件测试圈微信