Jmeter搭建分布式压测环境

最近在做性能测试,本来以为一台压力机就够啦,但是在压测一个查询接口的时候,当TPS达到500多的时候就开始报错,经过定位是压力机出现啦瓶颈,于是决定对压力机做一下分布式,经过调试环境部署成功,再次压测时候问题解决。下面记录一下部署分布式环境的过程。

使用的工具及版本:

JDK:1.8.0_211

Jmeter:5.2.1

Linux:CentOS 7 2台

 在部署环境之前先说一下Jmeter分布式执行原理:

 jmeter在执行分布式时候,首先要选择一台作为控制的机器,一台或多台执行的机器,在开始执行压测脚本的时候,控制器会把要执行的脚本分发到一台或多台执行机上,执行机拿到脚本后开始执行,执行结束后所有的执行机把执行结果返回给控制机,控制机在把各个执行机返回的结果进行汇总。

        执行原理图如下:

 

 

 

 

 我们了解了执行原理,下面开始进行环境部署

1.分别在控制机和执行机上安装jdk和jmeter(两台机器的jdk和jmeter版本必须一致)

2.两台机器分别配置jdk和jmeter的环境变量,这里也把环境变量配置付给大家,方便后面当做参考

我们输入命令进入环境变量配置文件:vim /etc/profile 添加以下配置

jdk环境变量:

export JAVA_HOME=/usr/local/wangfegnwei/jdk1.8.0_211

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

/usr/local/wangfegnwei/jdk1.8.0_211 是jdk安装的目录,其他的不变

  

jmeter环境变量:

JMETER_HOME=/home/qa_group/apache-jmeter-5.2.1

export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$JMETER_HOME/lib/logkit-2.0.jar:$CLASSPATH

export PATH=$JMETER_HOME/bin:$PATH:$HOME/bin

/home/qa_group/apache-jmeter-5.2.1jmeter安装的目录,其他的不变

 

如下图:

 

 

 

 

配置后输入命令:source /etc/profile  使配置的环境变量生效

3.分别验证控制机和压测机的jdk和jmeter是否安装好并配置好环境变量

 
 

 

 

4.环境变量配置完成后接下来配置控制机

进入控制机jmeter的bin目录下:vim jmeter.properties

a:修改:remote_hosts=执行机1的ip:端口,执行机2:端口

b:配置端口号:server_port=1099 可以自己指定 也可以使用默认的 1099

c:修改:server.rmi.ssl.disable=true

注意:控制机和执行机的 server_port 尽量保持一致 我这里用的都是 1099

 

 

 

 

5.配置执行机,进入 执行机 jmeter的bin目录下的 jmeter.properties配置文件

配置端口号:server_port=1099  

修改:server.rmi.ssl.disable=true

 

 

 

 

 

 

 

6.把执行的脚本分别复制到2台机器同一个目录下

 我把脚本都放在这个目录下:/usr/local/wangfegnwei/script/ 

7.执行机中输入命令启动:./jmeter-server  (因为我们配置了环境变量,所以任意位置输入这个命令都可以)

 

 

 

 

我们可以设置后台启动 nohup ./jmeter-server &  这样关闭页面后也在运行

8.我们先运行一台执行机

启动命令:jmeter.sh -n -t /usr/local/wangfegnwei/script/init.jmx -R 执行机ip:1099

 

 

 

 

9.上面同样的操作启动第二胎执行机

10.运行两台执行机执行脚本

       jmeter.sh -n -t /usr/local/wangfegnwei/script/init.jmx -R 执行机1ip:1099,执行机2ip:1099

 

 

 

 

11.监控结果如下图

 

 

 

posted @ 2023-04-04 13:33  AlamZ  阅读(169)  评论(0编辑  收藏  举报