jmeter的基本原理在网上太多了,类似于领导安排小兵跟他一起干活。
1.master安装
master 可以选择Windows也可以linux ,我这里是Windows,且 slave 时linux
1.1 下载安装jdk
jdk 下载地址:https://www.oracle.com/java/technologies/javase-downloads.html
配置环境变量:
JAVA_HOME=jdk地址 path=bin目录,---------》%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin classpath=jar包目录------------》%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
1.2 下载安装jmeter
jmeter安装地址:http://jmeter.apache.org/download_jmeter.cgi
环境变量配置:
JMETER_HOME -----》变量值为JMeter解压的路径
CLASSPATH------》%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar;
path ----->%JMETER_HOME%\bin;
cmd模式下,输入jmeter,自动启动jmeter 服务,输入jmeter -version ,弹出信息
2.slave安装----linux
2.1 jdk 安装:
下载安装包,解压,通jmeter,下载地址:https://www.oracle.com/java/technologies/javase-downloads.html
2.1.2。环境变量配置
export JAVA_HOME=/usr/local/jdk1.8.0_11 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin export PATH=$PATH:${JAVA_PATH}
2.2 jmeter 安装:
2.2.1 jmeter 安装地址
http://jmeter.apache.org/download_jmeter.cgi
使用工具winscp 或scp协议的直接上传工具
解压压缩包 tar -zxvf 压缩包地址 解压缩包地址
2.2.2jmeter 环境变量配置
export JMETER_HOME=/usr/local/apache-jmeter-5.4.1--------->填写具体的jmeter 暗转地址
export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATH
export PATH=$JMETER_HOME/bin:$PATH
3.master 和slave 配置
配置文件 /bin/jemter.properties
maseter:
remote_hosts=127.0.0.1,slave的IP地址
代理机配置:
配置以后,启动slave 命令
./jmeter-server -Djava.rmi.server.hostname=压力机ip
4.性能自动化分布式平台jmeter +ant+jenkins
搭载在本地,参考文章:https://blog.csdn.net/weixin_46457203/article/details/105860961
4.1 ant下载地址:http://ant.apache.org/bindownload.cgi
配置ant 环境变量
ANT_HOME:E:\tools\ant\apache-ant-1.10.10 CLASS_PATH:%ANT_HOME%\lib PATH:%ANT_HOME%\bin
<target name="run">
<antcall target="test" />
<antcall target="report" />
</target>
<target name="test">
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
<jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
<!-- 声明要运行的脚本"*.jmx"指包含此目录下的所有jmeter脚本-->
<testplans dir="E:\scripts\scripts" includes="*.jmx" />
<property name="jmeter.save.saveservice.output_format" value="xml"/>
</jmeter>
</target>
<path id="xslt.classpath">
<fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
<fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
</path>
<target name="report">
<tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp>
<xslt
classpathref="xslt.classpath"
force="true"
in="${jmeter.result.jtlName}"
out="${jmeter.result.htmlName}"
style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">
<param name="showData" expression="${show-data}"/>
<param name="titleReport" expression="${report.title}"/>
<param name="dateReport" expression="${report.datestamp}"/>
</xslt>
<!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>
`
其中遇到一个报错:The JVM should have exitted but did not
修改方案:jmeter.properties中改
然后就能看到可爱的报告了
4.2 ant+jenkins 继承
5 1,2,3融合,搭建成分布式的自动性能平台
报错解决方案
4)启动jmeter server,多网卡模式需要指定IP地址启动
jmeter -Djava.rmi.server.hostname=192.168.10.61