Linux 环境下搭建Jmeter集群

一、为什么要搭建集群?

主要原因单台服务器没有办法满足系统的压力,通过多台服务器来缓解压力。

二、Jmeter 分布式原理

  1.JMeter 分布式测试,选择节点来做调度服务器,其他的节点作为执行节点,通过调度节点管理其他节点;

  2.启动服务时,调度服务器会把脚本发送到各个执行节点(脚本会发送到执行节点,但是数据不会发送),执行节点拿到脚本开始执行命令;

  3.各个执行节点执行结束以后将结果回传给调度节点,调度节点进行数据汇总;

  原理图:

 

三、环境搭建

  1、每个节点安装Jmeter。

  2、进入Jmeter 调度节点(Jmeter  Controller )bin目录,编辑meter.properties

jmeter.properties文件中搜索关键字remote_hosts,来天玑Slave 节点的IP,默认Jmeter Server的端口是1099,如果需要修改取消server_port注释进行修改

注意:
    如果你想Controller节点也参与施压,remote_host 内容需要添加本机地址

  3.编辑Salve 节点jmeter-server文件,将服务器的主机IP设置为固定值

  4.启动所有参与请求的节点jmeter-server,进入bin目录启动

./jmeter-server

注意:

  如果你的Controller节点参与了请求,此时jmeter-server也需要启动

  此时将Jmeter的分布式集群搭建完成,剩下的就是来运行测试脚本了

  5.运行测试脚本

  •  启动所有Slave节点(添加参数-r)
 jmeter -n -t osg-uus服务目标ping接口.jmx -l result/17-1-200-1/testResult.jtl  -e -o result/17-1-200-1 -r
  • 启动指定Slave节点
 jmeter -n -t osg-uus服务目标ping接口.jmx -l result/17-1-200-1/testResult.jtl  -e -o result/17-1-200-1 -R 172.29.64.11

  6.Jmeter 命令介绍

参数 解释
-n 非 GUI 模式 
-t 运行的 JMeter 测试脚本文件
-l 指定记录结果的文件
-r 启动所有Slave节点
-R 指定启动Slave节点

四、遇见的坑

  由于压测的过程由于需要改变网络环境,但是服务器域名映射依然是旧地址,在远程请求的过程中无法连通,导致分析很久,最好将hostname映射关系添加在hosts文件避免这样的错误

其实很早想记录下Jmeter集群搭建,也不知道什么理由一直拖到了现在,疫情期间在家办公,也不知道啥时候上班啥时候下班,趁着孩子睡觉,记录下。

原文地址:https://www.cnblogs.com/mengyu/p/12343881.html

时间: 2024-10-02 06:38:48

Linux 环境下搭建Jmeter集群的相关文章

linux环境下搭建ActiveMQ集群

ActiveMQ服务器数量:3个(复制3份) activemq-a(消费者),activemq-b(生产者,消费者),activemq-c(生产者,消费者) 修改配置文件 先修改activemq-a中的文件(端口号8161和61616,这个默认就行),修改activemq-a中conf下的activemq.xml 然后修改activemq-b中的文件(端口号8162和61617),修改activemq-b中conf下的activemq.xml 修改activemq-b中conf下的jetty.x

Windows环境下搭建rabbitmq集群与负载

欢迎提出意见及建议,发现错误请留言 需要的文件下载: 百度云:链接:https://pan.baidu.com/s/1gpZa2NjNxviEnihjS2Viuw  提取码:39hi  复制这段内容后打开百度网盘手机App,操作更方便哦 蓝奏云:下载:https://www.lanzous.com/i54x5da 密码:cgb9 参考博文: https://blog.csdn.net/elie_yang/article/details/86657851 https://blog.csdn.net

linux环境下Apache+Tomcat集群配置

写在前面 apache配置多个tomcat,实现请求分流,多个tomcat服务均衡负载,增加服务的可靠性.最近研究了一下,遇到许多问题,记录一下,方便以后查阅,不喜欢apache,nginx也是可以做到的. 准备 版本很重要,我就是由于版本原因,一直报错 linux 使用 #lsb_release -a查看当前linux系统版本. 本例:CentOS Linux release 7.0.1406 (Core) jdk 使用 # java -version查看当前版本,如果没有,先装好.downl

windows环境下搭建redis集群

Redis.Ruby语言运行环境.Redis的Ruby驱动redis-xxxx.gem.创建Redis集群的工具redis-trib.rb(注意:Redis集群需要至少3个以上节点,低于3个无法创建) 1.下载(zip格式)并安装Redis:(https://github.com/MSOpenTech/redis/releases/) 1)将下载到的Redis-x64-3.0.504.zip解压即可,为了方便使用,建议放在盘符根目录下,并修改目录名为Redis,如:D:\Redis 2)通过配置

【RAC】使用一条“ps”命令获取Linux环境下全部RAC集群进程信息

如何仅使用一条ps命令便能获取到所有与RAC集群进程相关的信息.  从所使用的命令角度上看很简单,仅需使用ps命令结合grep命令便能实现.问题关键是需要确定检索哪些关键字. 1.与RAC集群有关的进程1)常驻系统的通用进程ocssd.binevmd.binevmlogger.bincrsd.bin 这些通用进程需要在各种平台和数据库版本上都会启动. 2)特有进程oprocd: 在UNIX平台当第三方集群软件为运行时会启动该进程:在Linux平台上会在Oracle 10.2.0.4这个版本上启动

在windows环境下搭建mysql集群

1. 前(fei)言(hua) 最近实训老师给我们布置了一个建立mysql集群的任务,并扔了两个博客链接给我们参考,然后就没有然后了.根据老师给的博客上面的步骤试了一下,发现并不能成功建立,于是自己百度,找到了一个挺靠谱的博客,于是参考了一下,感觉总体还是不错的~ 靠谱的博客: http://blog.csdn.net/mazhaojuan/article/details/42211857 2. 理论基础知识 首先需要了解什么是管理节点.数据节点和SQL节点~ (1)管理结点:从名字可以看出来,

RabbitMQ:Docker环境下搭建rabbitmq集群

RabbitMQ作为专业级消息队列:如何在微服务框架下搭建 使用组件 文档: https://github.com/bijukunjummen/docker-rabbitmq-cluster 下载镜像: git clone https://github.com/bijukunjummen/docker-rabbitmq-cluster.git cd docker-rabbitmq-cluster/clusterdocker-compose up -d 等待下载完成: 会自动构建3个rabbitM

Zookeeper:Docker环境下搭建Zookeeper集群

下载镜像 docker pull garland/zookeeper 搭建: docker run -d --name=zk1 --net=host -e SERVER_ID=1 -e ADDITIONAL_ZOOKEEPER_1=server.1=localhost:2888:3888 -e ADDITIONAL_ZOOKEEPER_2=server.2=localhost:2889:3889 -e ADDITIONAL_ZOOKEEPER_3=server.3=localhost:2890:

如何一步一步删除(linux & UNIX)环境下 oracle 11g 集群节点

 Deleting a Cluster Node on Linux and UNIX Systems 1.确定要删除的节点,是否active,pinned $ olsnodes -s -t 如果 pinned ,则crsctl unpin css  -n <nodename>  unpinned 相应的节点 2.禁用相应集群节点的应用资源,进程 先停掉 em: emctl stop dbconsole 以root 用户运行 在要删除节点的 $Grid_home/crs/install 路径