JMeter压力测试之环境搭建、脚本调试及报错解决方法(Linux版)

一、环境部署

后续往服务器上传文件,本文中使用的是xftp,因其不是本文所要讲述的重点,这里不做详解。
第一步:安装所需要版本的JDK,本次使用的是JDK 1.8


  • 1、通过xftp把下载好的安装包上传到服务器,实际放置路径大家根据自己的需要选择
    image

  • 2.给安装包赋予运行权限,然后解压

赋予运行权限 chmod 755 jdk-xxxxx-linux-x64.tar.gz 然后 tar -zxvf jdk-xxxxx-linux-x64.tar.gz

名称 类型
tar 备份文件
-zxvf
-z 通过gzip指令处理备份文件
-x 从备份文件中还原文件
-v 显示指令执行过程
-f 指定备份文件
rm -rf jmeter/ 删除
mv 登录.jmx script/ 移动文件
cp -r tok1.csv csv/ 复制文件
find -name jar包名称 搜索
chmod 777 jmeter 赋予启动项权限

  • 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 (build 1.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 查看安装结果。
    image

第三步:配置Jmeter监控插件
使用jmeter做性能测试,添加插件是必不可少的,大家可以参考我之前一篇专门介绍jmeter插件的博文。

地址:https://www.cnblogs.com/Sweettesting/p/12780747.html

二、调试脚本

  • 1.在GUI模式下,新建测试计划,然后根据要压测的实际需要添加各种配置元件,本次压测配置如下:
    image
    在GUI模式添加完组件后,一定要将脚本跑通,之后再上传到服务器。

  • 2.使用xftp把脚本及读取文件上传到服务器,在脚本目录命令行输入 vim stresstest.jmx ,根据实际压测需要调整脚本线程和压
    测时间,脚本文件的名称要更换成实际文件名称。由于运行时 View Results Tree 资源消耗比较大,这里对脚本做下优化,把状态改为false。
    image

三、运行脚本

  • 1.运行Jmeter服务器资源性能监控插件,在监控插件目录命令行输入 ./startAgent.sh
    image

  • 2.执行命令 jmeter -n -t stresstest.jmx -l /tmp/testResultOther.jtlstresstest.jmx :为测试脚本存放路径/tmp/testResultOther.jtl :为测试结果输出路径
jmeter -n -t 提现.jmx -l test.jtl -e -o /usr/local/src/apache-jmeter-5.4.1/JB/log

解释:
执行提现.jmx脚本,

命令参数 命令释义
-n 设置命令行模式
-t 指定jmx脚本路径。参数为:jmx脚本路径,若非当前目录需用全路径或相对路径
-l 指定结果文件路径(jtl或者csv)。参数为:结果文件路径,路径不存在时会自动创建
-j 指定执行日志路径。参数为:日志路径。路径不存在,不会自动创建,同时将日志输出至命令行控制台
-r 指定分布式(远程)执行。服务器列表由JMETER_HOME\bin\jmeter.properties中的remote_hosts指定
-R 指定远程(分布式)服务器列表。参数为:指定服务器列表,配置形势同remote_hosts
-g 指定测试结果文件路径。仅用于生成测试报表。参数为:CSV结果文件
-e 设置测试完成后生成测试报表
-o 指定测试报表生成文件夹。文件夹必须为空或不存在。参数为:报表文件夹路径。可指定生成测试报告路径,比如:-e -o /usr/local/src/apache-jmeter-5.4.1/JB/log
-H 指定代理服务器域名或代理服务器IP。参数为:代理服务器域名或代理服务器IP
-P 指定代理服务器端口号。参数为:代理服务器端口号

  • 3.把结果文件通过xftp下载到本地,通过GUI模式可以查看测试详情。
    image

四、可能出现问题及解决方法

  • 1.提示:-bash: /usr/local/jmeter/apache-jmeter-3.1/bin/jmeter: Permission denied说明需要赋予对jmeter的操作权限,命令行输入命令chmod777/usr/Jmeter/apachejmeter3.1/bin/jmeter

  • 2.提示: -bash: jmeter: command not found
    很大可能是环境变量配置的有问题,检查变量配置文件中名称、路径配置是否正确。

posted @ 2022-02-18 11:19  ~子衡  阅读(377)  评论(0编辑  收藏  举报