🔥 交流讨论:欢迎加入我们一起学习!
🔥 资源分享:耗时200+小时精选的「软件测试」资料包
🔥 教程推荐:火遍全网的《软件测试》教程
📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
概述
Jmeter最早是为了测试 Tomcat 的前身 JServ 的执行效率而诞生的。到目前为止,它的最新版本是5.3,其测试能力也不再仅仅只局限于对于Web服务器的测试,而是涵盖了数据库、JMS、Web Service、LDAP等多种对象的测试能力。本篇文章,我们就以3.1版本的Jmeter讲一下压力测试。
环境部署
后续往服务器上传文件,本文中使用的是xftp,因其不是本文所要讲述的重点,这里不做详解。
安装JDK
安装所需要版本的JDK,本次使用的是JDK 1.8
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
历史版本下载地址:http://www.oracle.com/technetwork/java/javase/archive-139210.html
通过xftp把下载好的安装包上传到服务器,实际放置路径大家根据自己的需要选择。
给安装包赋予运行权限,然后解压。赋予运行权限:chmod 755 jdk-xxxxx-linux-x64.tar.gz
解压安装包:tar -zxvf jdk-xxxxx-linux-x64.tar.gz
命令介绍:
-
tar 备份文件
-
-z 通过gzip指令处理备份文件
-
-x 从备份文件中还原文件
-
-v 显示指令执行过程
-
-f 指定备份文件
-
jdk-xxxxx-linux-x64.tar.gz 文件名
配置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 要更改成你自己的安装目录!
在命令行输入 source /etc/profile 使刚刚设置的配置文件生效,接着命令行输入 java -version 检查安装结果。
[test@node06 ~]$ java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
[test@node06 ~]$
安装Jmeter
安装所需要版本的Jmeter,本次使用的是Jmeter 3.1。下载Jmeter,地址:http://jmeter.apache.org/download_jmeter.cgi
通过xftp上传安装包到服务器对应目录,然后在命令行输入 tar zxvf apache-jmeter-3.1.tgz 进行解压。
进入bin目录下,在命令行输入 chmod 777 jmeter 赋予启动项权限,在命令行输入 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
(左右滑动查看完整代码)
在命令行输入 source /etc/profile 使配置生效,接着输入 jmeter -v 查看安装结果。
配置Jmeter监控插件
使用Jmeter做性能测试,添加插件是必不可少的。地址:https://www.cnblogs.com/Sweettesting/p/12780747.html
调试脚本
在GUI模式下,新建测试计划,然后根据要压测的实际需要添加各种配置元件,本次压测配置如下:
在GUI模式添加完组件后,一定要将脚本跑通,之后再上传到服务器。
使用xftp把脚本及读取文件上传到服务器,在脚本目录命令行输入 vim stresstest.jmx ,根据实际压测需要调整脚本线程和压测时间,脚本文件的名称要更换成实际文件名称。由于运行时 View Results Tree 资源消耗比较大,这里对脚本做下优化,把状态改为false。
运行脚本
运行Jmeter服务器资源性能监控插件,在监控插件目录命令行输入 ./startAgent.sh:
执行命令:
jmeter -n -t stresstest.jmx -l /tmp/testResultOther.jtl
stresstest.jmx :为测试脚本存放路径
/tmp/testResultOther.jtl :为测试结果输出路径
(左右滑动查看完整代码)
这里是我手动结束了脚本运行,正常运行结束会提示:... end of run。
把结果文件通过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。
很大可能是环境变量配置的有问题,检查变量配置文件中名称、路径配置是否正确。
最后我邀请你进入我们的【软件测试学习交流群:785128166】, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路
作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:程序员二黑】自提!