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 ,弹出信息
image

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
image
使用工具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地址
image
image
image
代理机配置:
image

image
image

配置以后,启动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
image
配置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中改
image
然后就能看到可爱的报告了
image
4.2 ant+jenkins 继承
image
image

5 1,2,3融合,搭建成分布式的自动性能平台

报错解决方案

4)启动jmeter server,多网卡模式需要指定IP地址启动
  jmeter -Djava.rmi.server.hostname=192.168.10.61