一、概述
JMeter 最早是为了测试 Tomcat 的前身 JServ 的执行效率而诞生的。到目前为止,它的最新版本是5.3,
其测试能力也不再仅仅只局限于对于Web服务器的测试,而是涵盖了数据库、JMS、Web Service、LDAP等
多种对象的测试能力。本篇文章,我们就以3.1版本的Jmeter讲一下压力测试。
二、环境部署
后续往服务器上传文件,本文中使用的是xftp,因其不是本文所要讲述的重点,这里不做详解。
第一步:安装所需要版本的JDK,本次使用的是JDK 1.8
1.通过xftp把下载好的安装包上传到服务器,实际放置路径大家根据自己的需要选择
2.给安装包赋予运行权限,然后解压
赋予运行权限: chmod 755 jdk-xxxxx-linux-x64.tar.gz
解压安装包: tar -zxvf jdk-xxxxx-linux-x64.tar.gz
命令介绍:
tar 备份文件
-zxvf
-z 通过gzip指令处理备份文件
-x 从备份文件中还原文件
-v 显示指令执行过程
-f 指定备份文件
jdk-xxxxx-linux-x64.tar.gz 文件名
3.配置JDK环境变量
在命令行输入: vim /etc/profile ,然后按 i 进入编辑模式,将以下内容粘贴到文本最后。
export JAVA_HOME=/usr/java/jdk1.8.0_144
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_HOME=/usr/java/jdk1.8.0_144 要更改成你自己的安装目录!
4.在命令行输入 source /etc/profile 使刚刚设置的配置文件生效,接着命令行输入 java -version 检查安装结果。
[test@node06 ~]$ java -version
java version"1.8.0_144"Java(TM) SE Runtime Environment (build1.8.0_144-b01)
Java HotSpot(TM)64-Bit Server VM (build 25.144-b01, mixed mode)
[test@node06~]$
第二步:安装所需要版本的Jmeter,本次使用的是Jmeter 3.1
2.通过xftp上传安装包到服务器对应目录,然后在命令行输入 tar zxvf apache-jmeter-3.1.tgz 进行解压。
3.进入bin目录下,在命令行输入 chmod 777 jmeter 赋予启动项权限。
4.在命令行输入 vim /etc/profile 配置环境变量,按 i 进入编辑模式,在文本最后粘贴以下内容:
export JMETER_HOME=/usr/local/jmeter/apache-jmeter-3.1
export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATH
export PATH=$JMETER_HOME/bin:$PATH:$HOME/bin
5.在命令行输入 source /etc/profile 使配置生效,接着输入 jmeter -v 查看安装结果。
第三步:配置Jmeter监控插件
使用jmeter做性能测试,添加插件是必不可少的,大家可以参考我之前一篇专门介绍jmeter插件的博文。
三、调试脚本
1.在GUI模式下,新建测试计划,然后根据要压测的实际需要添加各种配置元件,本次压测配置如下:
在GUI模式添加完组件后,一定要将脚本跑通,之后再上传到服务器。
2.使用xftp把脚本及读取文件上传到服务器,在脚本目录命令行输入 vim stresstest.jmx ,根据实际压测需要调整脚本线程和压
测时间,脚本文件的名称要更换成实际文件名称。由于运行时 View Results Tree 资源消耗比较大,这里对脚本做下优化,把状态改为false。
四、运行脚本
1.运行Jmeter服务器资源性能监控插件,在监控插件目录命令行输入 ./startAgent.sh
2.执行命令 jmeter -n -t stresstest.jmx -l /tmp/testResultOther.jtl
stresstest.jmx :为测试脚本存放路径
/tmp/testResultOther.jtl :为测试结果输出路径
这里是我手动结束了脚本运行,正常运行结束会提示: ... end of run
3.把结果文件通过xftp下载到本地,通过GUI模式可以查看测试详情。
五、可能出现问题及解决方法
1.提示: -bash: /usr/local/jmeter/apache-jmeter-3.1/bin/jmeter: Permission denied
说明需要赋予对jmeter的操作权限,命令行输入命令: chmod 777 /usr/Jmeter/apache-jmeter-3.1/bin/jmeter
2.提示: -bash: jmeter: command not found
很大可能是环境变量配置的有问题,检查变量配置文件中名称、路径配置是否正确。