环境搭建
Java环境
1、下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html


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

2、将压缩包移动到服务器
3、解压文件
tar xzvf jdk-8u211-linux-x64.tar.gz
4、配置环境变量
vim/etc/profile #环境变量配置文件
exportJMETER_HOME=XXXX/apache-jmeter-5.1.1
export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATH
exportPATH=$JMETER_HOME/bin:$PATH:$HOME/bin
source/etc/profile #配置生效
jmeter -v #验证环境变量配置结果
JMeter插件
存放目录:\lib\ext
插件功能:JMeterPlugin可以把JMeter生成的jtl文件做出很好的统计图,同时还支持机器的cpu、memory、swap、disk io和network的监控,是个不错的插件。
分布式压力测试

1、Master机器配置
配置Master机器(若本机也是压测机,则需要加上本机的地址)
目录:\jmeter\apache-jmeter-5.1.1\bin\jmeter.properties

配置完成后,需要重启jmeter
2、Slave机器配置
配置Slave机器
目录:/jmeter/apache-jmeter-5.1.1/bin/jmeter.properties

权限赋予,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次。聚合报告如下:

网友评论