Jmeter分布式压测环境搭建

前言

使用JumpServer开源堡垒机对Linux服务器做分布式性能压测,当单台机器无法满足性能压测的负载要求时,或者单台机器的网络带宽存在瓶颈的情况下,可以采用分布式部署的方案来解决这些问题。

一、Linux 上传 jdk-8u211-linux-x64.tar

1. 打开JumpServer文件管理,找到对应的机器文件夹把jdk-8u211-linux-x64.tar上传上去

2. 移动jdk-8u211-linux-x64.tar位置并解压

(1)mv /tmp/jdk-8u211-linux-x64.tar.gz  /data/  # 把jdk压缩包从tmp目录夹移动至data目录

(2)tar zxf jdk-8u211-linux-x64.tar.gz -C /data/  # 解压jdk到data目录下

3. 编辑/etc/profile文件,添加JAVA环境变量,然后保存退出

(1)vim etc/profile.d/java.sh  # 创建java.sh 并进行编辑

(2)i  # 进入编辑状态添加下面的java环境变量

        #set java environment

        JAVA_HOME=/data/jdk1.8.0_211      

        JRE_HOME=$JAVA_HOME/jre     

        CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

        PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

        export JAVA_HOME JRE_HOME CLASS_PATH PATH

(3)按Esc退出编辑状态,在输入 :wq  #保存并退出

4. 使环境变量生效

source /etc/profile

5. 查看JAVA是否安装成功

java -version

二、Linux 下载 apache-jmeter

1. 下载并解压apache-jmeter

wget https://mirrors.bfsu.edu.cn/apache//jmeter/binaries/apache-jmeter-5.4.3.tgz # 下载

mkdir -p /data/  # 创建data目录

tar -xvf apache-jmeter-5.4.3.tgz -C /data/   # 把apache-jmeter解压到data目录下

rm -rf jdk-8u211-linux-x64.tar.gz  # 删除压缩包

2. 编辑/etc/profile文件,添加Jmeter环境变量,然后保存退出

(1)vim etc/profile.d/jmeter.sh  # 创建jmeter.sh 并进行编辑

(2)i  # 进入编辑状态添加下面的Jmeter环境变量

# jmeter目录下存在bin目录

export JMETER=/data/apache-jmeter-5.4.3

export CLASSPATH=${JMETER}/lib/ext/ApacheJMeter_core.jar:${JMETER}/lib/jorphan.jar:$JMETER/lib/logkit-2.0.jar:${CLASSPATH}

export PATH=${JMETER}/bin/:${PATH}

(3)按Esc退出编辑状态,在输入 :wq  #保存并退出

3. 使环境变量生效

source /etc/profile

4. 查看Jmeter是否安装成功

jmeter -v

三、master控制器压测机配置

1. 在data/apache-jmeter-5.4.3/bin/目录对jmeter.properties进行修改

(1)查看Linux执行机的ip地址,然后设置remote_hosts=执行机1:端口号,执行机2:端口号

(2)修改server_port=1099 执行启动远程连接的端口号 ,remote_hosts配置成一致的端口号

(3)server.rmi.ssl.disable=false 改为 server.rmi.ssl.disable=true

(4)server.rmi.localport=4000 执行机Jmeter_server启动显示的端口启动的端口号

(5)查找到mode=Standard 项,将其前边的注释去掉(解决Jmeter进行分布式测试,远程机器来运行脚本,在察看结果树中的响应数据项为空白)

2. 在data/apache-jmeter-5.4.3/bin/目录对jmeter-server进行修改

RMI_HOST_DEF=-Djava.rmi.server.hostname=127.0.0.1 地址改成本机的ip地址,执行和控制机都需要改

四、Slave代理压测机配置

1. 在data/apache-jmeter-5.4.3/bin/目录对jmeter.properties进行修改

(1)修改server_port=1099 表示控制机要远程连接通信的端口号,即Master配置文件Jmeter.properties的remote_hosts配置的端口号

(2)server.rmi.localport=4000 执行机Jmeter_server启动显示的端口启动的端口号

(3)server.rmi.ssl.disable=false 改为 server.rmi.ssl.disable=true

2. 在data/apache-jmeter-5.4.3/bin/目录对jmeter-server进行修改

RMI_HOST_DEF=-Djava.rmi.server.hostname=127.0.0.1 地址改成本机的ip地址,执行和控制机都需要改

五、运行

1. 先用本地同版本jmeter生成.jmx测试脚本,把.jmx测试脚本上传到Linux master控制机和slave代理机上。

2. Slave代理机运行

chmod 777  jmeter-server

jmeter-server

3. master控制机运行

jmeter -n -t /data/workspace/domiancases.jmx -r -l /data/workspace/test200x100.jtl

六、给压到Slave代理机

上传jar的架包到Slave代理机上

Java -jar xxxxxxx.jar  #启动架包

nohup java -jar xxxxxx.jar  &  #后台锁定进程 防止中断

尝试访问查看是否成功

curl https://127.0.0.1:8080/xxxxx/product/25544309474361346/1

Slave 查看架包是否存在  ps -ef | grep java

查看本地端口是否启动:telnet 127.0.0.1 8081

linux执行jmeter脚本解决响应数据为空解决办法

在jmeter.properties文件中修改配置

jmeter.save.saveservice.response_data=true

jmeter.save.saveservice.samplerData=true

在user.properties文件中追加配置

jmeter.save.saveservice.output_format=xml
jmeter.save.saveservice.response_data=true
jmeter.save.saveservice.samplerData=true
jmeter.save.saveservice.requestHeaders=true
jmeter.save.saveservice.url=true
jmeter.save.saveservice.responseHeaders=true

你可能感兴趣的:(jmeter,分布式,压力测试)