Linux Jmeter压测(分布式)

环境搭建

Java环境

1、下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html

JDK
版本:8u211

2、将压缩包移动到服务器

3、解压文件

tar xzvf jdk-8u211-linux-x64.tar.gz

4、配置环境变量

vim/etc/profile  #环境变量配置文件

export JAVA_HOME=XXXX/jdk1.8.0_211

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

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

source /etc/profile  #配置生效

java -version  #验证环境变量配置结果

JMeter环境

1、下载(以JMeter 5.1.1为例) http://jmeter.apache.org/download_jmeter.cgi

Jmeter 5.1.1

2、将压缩包移动到服务器

3、解压文件

tar xzvf jdk-8u211-linux-x64.tar.gz

4、配置环境变量

vim /etc/profile  #环境变量配置文件

export JMETER_HOME=XXXX/apache-jmeter-5.1.1

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

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

source /etc/profile  #配置生效

jmeter -v  #验证环境变量配置结果

JMeter插件

插件名称:jmeter-plugins-manager

存放目录:\lib\ext

插件功能:JMeterPlugin可以把JMeter生成的jtl文件做出很好的统计图,同时还支持机器的cpu、memory、swap、disk io和network的监控,是个不错的插件。

分布式压力测试

结构

1、Master机器配置

    配置Master机器(若本机也是压测机,则需要加上本机的地址)

    目录:\apache-jmeter-5.1.1\bin\jmeter.properties

配置master机器1
配置master机器2

  配置完成后,需要重启jmeter

2、Slave机器配置

    配置Slave机器

    目录:/jmeter/apache-jmeter-5.1.1/bin/jmeter.properties

配置Slave机器1
配置Slave机器2

    权限赋予,bin目录赋予执行的权限:

chmod +x -R bin/

    启动salve的jmeter:

sh jmeter-server -Djava.rmi.server.hostname=172.16.1.32

    后台启动:

nohup ./jmeter-server -Djava.rmi.server.hostname=172.16.1.32 &

3、常见问题处理

创建JKS文件

背景:从JMeter 4.0开始,RMI的默认传输机制将使用ssl。SSL需要密钥和证书才能工作,不使用ssl将存在安全漏洞。

操作:

1)master主机点击创建脚本:\jmeter\apache-jmeter-5.1.1\bin\create-rmi-keystore.bat (linux: sh /jmeter/apache-jmeter-5.1.1/bin/create-rmi-keystore.sh)

2)根据提示填写,直接回车,最后确认输入y即可

创建秘钥

3)将生成的rmi_keystore.jks文件复制到每一台slave的bin目录下即可

提示找不到系统文件之类的或者提示java.rmi.ConnectIOException:non-JRMP server at remote endpoint

在master和salve的jmete.properies中打开找到#server.rmi.ssl.disable=false,给变更成server.rmi.ssl.disable=true(注意是控制器和压力机都要更改)。每次变更后都要重新打开jmeter+

其他注意事项

1) 控制机和负载机的jdk,jmeter版本都必须一致

2) 控制机用的插件,负载机上也必须有(可以去ext目录下对比)

3) 脚本不需要传递到负载机,但是如果有csv等数据文件,就必须传到负载机上,而且路径要写负载机的路径

4、压力测试

1)编写测试脚本

编写脚本

2)配置线程数

配置线程

3)启动压测(启动任务,单台启停、全部启停)

压测启动

4)测试结果查看(根据实际需求输出需要结果,已聚合报告为例)

本次测试为2台施压机,线程组为5,循环次数为10,两台机器合计执行100次。聚合报告如下:

聚合报告

你可能感兴趣的:(Linux Jmeter压测(分布式))