JMeter分布式压测(保姆教学)
一台控制机,两台执行机
台机器需安装相同版本的jdk和jmeter(JDK1.8)
jdk安装和配置
jdk下载地址
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Windows环境
没有配置过Windows环境jdk的友友可以参考文章
http://t.csdnimg.cn/K5DAi
提供环境验证代码
JAVA_HOME
C:\Program Files\Java\jdk1.8.0_251
JRE_HOME
%JAVAHOME%/jre
CLASSPATH
.;%JAVA_HOME%\lib;%JRE_HOME%\lib
%JAVA_HOME%\bin
java -version
java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)
Linux(两种方式)
yum安装
- 查看JDK版本,找到你想要安装的JDK版本,这里以 JDK1.8 为例
输入命令:yum -y list java*
输入命令:yum install -y java-1.8.0-openjdk.x86_64
出现Complete!安装完成
- 查看JDK版本
输入命令:java -version
手动安装
-
卸载OpenJDK以及相关的Java文件
- 查看Java信息及相关的Java文件
查看JDK信息,输入命令:java -version 检测JDK安装包,输入命令:rpm -qa | grep java
-
删除Java相关文件(/usr/lib/jvm是默认openjdk安装路径)
进入安装目录。输入命令:cd /usr/lib/jvm
删除Java相关文件(注意:会删除所有文件,如有其他文件,请不要使用此命令删除),输入命令:rm -rf /usr/lib/jvm
安装JDK
- 新建一个存放安装包的文件夹
创建文件夹,输入命令:mkdir /usr/local/java
-
将下载的安装包传到该文件夹
通过文件传输工具传过去,rz等
-
解压安装包
输入命令:tar -zxvf jdk-8u351-linux-x64.tar.gz
- 修改配置文件/etc/profile,配置环境变量
输入命令:vim /etc/profile
- 在配置文件最下方添加下面三种任意一种
注意:JAVA_HOME=/devFile/jdk/jdk1.8.0_261 就是你自己的目录
#java environment
export JAVA_HOME=/usr/local/java/jdk1.8.0_261
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
#java environment
export JAVA_HOME=/home/jdk/jdk1.8.0_261
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
#java environment
export JAVA_HOME=/usr/local/java/jdk1.8.0_261
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安装教程
jmeter下载地址
https://jmeter.apache.org/download_jmeter.cgi
Windows
- 安装jmeter
把下载的安装包解压到某一目录即可,提示:安装目录不用出现中文或空格
- 配置环境变量 (其实可以不用配置环境变量的,但是后期会用到命令行来执行脚本所以得配)
%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;
- 验证启动
1、双击jmeter.bat(在bin文件夹里)
2、双击ApacheJMeter.jar(在bin文件夹里)
3、可以cmd命令行打开jmeter 输入:java - jar apachejmeter - jar 或者 jmeter
能打开就安装成功了。
Linux
- 使用rz命令将安装包上传至对应的文件路径
rz命令安装:yum install -y lrzsz
unzip命令安装:yum -y install unzip
unzip -n apache-jmeter-5.4.1.zip
-
配置jmeter环境变量
- 使用vim命令编辑/etc/profile文件
vim /etc/profile
- 光标移动至文档最后,使用insert键插入要添加的内容
export JMETER_HOME=/mytest/jmeter/ export PATH=$JMETER_HOME/bin:$PATH export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJmeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATH
- 编辑成功后,使用Esc键退出编辑模式,:wq保存当前结果
- 使环境变量生效
source /etc/profile
注:
/mytest/jmeter/是jmeter的安装路径 -
查看安装情况
jmeter -v
- 如果执行jmeter命令,提示
../bin/jmeter: Permission denied
- 解决方法:给Jmeter安装目录授权,切换至jmeter安装目录,执行以下命令
chmod -R 777 apache-jmeter-5.4.1
- 执行测试
- 命令1
- 在当前脚本所在路径下执行以下命令
sh ../jmeter/bin/jmeter.sh -n -t test2.jmx -l /mytest/testscript/result/result1.jtl -e -o /mytest/testscript/report
参数说明
…/jmeter/bin/jmeter.sh :jmeter.sh的文件路径
test2.jmx:压测脚本
/mytest/testscript/result/result1.jtl:运行结果存放路径
/mytest/testscript/report:图形报告存放路径
-n:以NoGUI方式运行脚本
-t:后面接脚本名称
-l:后面接日志名称,保存运行结果
-e:运行结束生成测试报告
-o:测试报告目录路径
- 命令2
jmeter -n -t test2.jmx -l /mytest/testscript/result/result1.jtl -e -o /mytest/testscript/report
运行结束后,在Xftp工具对应目录中查看运行结果和图形报告
原理
Jmeter分布式压测:Jemter分布式压测是选择其中一台作为调度机(master),其他机器作为执行机(slave);当然一台机器也可以既做调度机,也做执行机。
调度机执行脚本的时候,master将会jmx脚本分发到slave上,slave拿到脚本后以非GUI的形式开始执行。
slave执行完毕后将结果回传给master,并由master进行结果的汇总。
环境搭建
master:Windows10,JMeter版本5.1.1,jdk版本1.8;
slave:2台linux虚拟机(CentOS 7),JMeter版本与master一致,5.1.1,jdk版本1.8;
总结:slave上JDK和Jmeter版本尽量和master上保持一致。
slave机器配置
关闭各slave机器上防火墙
systemctl stop firewalld
关闭各slave机器上SSL配置。RMI的默认传输机制将使用SSL,SSL需要密钥和证书才能工作。
解决方法有两种:
一种是启动bin目录下的create-rmi-keystore脚本
另一种是不使用SSL
这里采用第二种
进入bin目录下编辑文件
修改bin目录下的jmeter.properties文件
vim jmeter.properties
server.rmi.ssl.disable=true
设置服务器主机IP
编辑bin目录下的jmeter-server文件,取消RMI_HOST_DEF的注释项,固定设置当前Linux主机查询到的IP。
进入bin目录下编辑文件
启动Jemter服务
修改slave配置并启动jmeter-server
RMI_HOST_DEF=-Djava.rmi.server.hostname=192.168.1.224(绑定本机ip)
修改jmeter.properties:
server_port=1009(自定义端口号,避免被占用)
server.rmi.localport=1009(跟上面设置的端口号一致)
server.rmi.port=1099
server.rmi.ssl.disable=true
master机器配置
修改配置文件
打开bin目录下的jmeter.properties文件,修改remote_hosts的值。修改为两台salve机器的ip及端口。
进入到jmeter的配置文件(jmeter.properties)
将server.rmi.ssl.disable的值修改为true
配置remote_hosts(大概270行左右的样子):remote_hosts助攻机器的ip和端口,多个的话用,分隔
mode=Standard去掉注释,在图形界面的时候可以看到助攻机器的执行结果
配置完成后重新启动jmeter,启动jmeter就可以看到运行->远程启动机器,可以看到配置的助攻机器。
添加执行权限:
命令:chmod +x jdk-8u131-linux-x64.rpm
执行rpm进行安装
命令:rpm -ivh jdk-8u131-linux-x64.rpm
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » 分布式压测
发表评论 取消回复