Linux环境下,Jmeter压力测试的搭建及报错解决方法

发表于:2022-4-02 10:01

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Sweettesting    来源:博客园

  概述
  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。
  很大可能是环境变量配置的有问题,检查变量配置文件中名称、路径配置是否正确。

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号