Jmeter学习笔记(一)安装与启动

1. Linux上的jmeter安装

为了方便运行jmeter,本文使用linux压力机一台、mac电脑一台。两台设备上都需要安装ijmeter。jmeter版本和插件情况需要一致。

进行便捷的版本迁移:为了保证调试脚本和实际运行脚本的jmeter版本和插件安装情况一致,可以将mac上的jmeter整个打包上传到linux压力机上解压。

1.1. java版本查看

jmeter的运行需要基于java环境,可使用下面方式查看当前Linux系统上是否已安装JDK。

java -version

结果如下图,Linux系统已安装1.8版本JDK:
在这里插入图片描述

1.2. 上传Jmeter到Linux

如上文所述,将mac上的Linux打包上传到Linux系统并解压。mac系统上的jmeter需要确保已安装了压测所需的所有插件。如果mac上的jmeter进行了插件的变动并将新安装的插件应用于脚本,而Linux上的jmeter并没有安装该插件,脚本上传到Linux上将可能执行失败。

可使用lrzsz命令或Xterm工具上传。

在下图中,jmeter已上传到Linux并解压成功。因上传到是zip压缩包,使用unzip命令解压。

unzip apache-jmeter-5.4.3.zip

在这里插入图片描述

1.3. 配置环境变量

本步骤是为了更方便地使用jmeter命令,可省略,区别是配置完后使用jmeter,可以在任意目录下直接执行jmeter命令可启动程序,而未配置使用jmeter需要到jmeter的安装路径(bin目录下)执行jmeter的可执行程序。比如本文中jmeter安装路径为/root/tcmipresstest/apache-jmeter-5.4.3/bin,未配置的情况下执行jmeter则需要./root/tcmipresstest/apache-jmeter-5.4.3/bin/jmeter才行。简而言之,配置比不配置方便,建议配置。

执行下面的命令打开配置文件:

vi /etc/profile

打开该配置文件后输入“i”进入insert编辑模式。在文件中插入以下内容:

export JMETER_HOME=/root/tcmipresstest/apache-jmeter-5.4.3
export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$JMETER_HOME/lib/logkit-2.0.jar:$CLASSPATH
export PATH=$JMETER_HOME/bin:$PATH:$HOME/bin

JMETER_HOME变量内容为jmeter安装目录的绝对路径(实际就是上文中解压后的文件夹路径),如上文所说,我的安装目录是/root/tcmipresstest/apache-jmeter-5.4.3。该路径需根据实际情况替换。
修改完后"esc"和":wq"保存并关闭页面。输入以下命令使配置生效。

source /etc/profile

进入bin文件夹下找到jmeter,查看jmeter可执行程序是否有可执行权限。如果没有,则需要执行chmod +x jmeter赋予权限。

输入以下命令,如果打印了jmeter的版本信息,说明配置完成:

jmeter -v

打印如下图:
在这里插入图片描述

2. 在Linux上使用jmeter

mac上的jmeter带有图形化界面,使用非常简单,而Linux上的jmeter无图形化界面,使用需要依靠命令行。我们先来了解一下jmeter相关命令。在下面一节中提供了jmeter命令大全供参考。

2.1. jmeter命令大全

短命令 长命令 描述
–? 打印命令行选项和退出
-v --version 打印版本信息并退出
-p --propfile <argument> 要使用的JMeter属性文件
-q --addprop <argument> 额外的JMeter属性文件
-t --testfile <argument> 要运行的JMeter测试(.jmx)文件。“-t last”将加载最后使用的文件
-l --logfile <argument> 将文件到日志样本
-i --jmeterlogconf <argument> JMeter日志记录配置文件(log4j2.xml
-j --jmeterlogfile <argument> JMeter运行日志文件(JMeter.log)
-n --nongui 在非GUI模式下运行jmeter
-s --server 运行JMeter服务器
-E --proxyScheme <argument> 设置用于代理服务器的代理方案
-H --proxyHost <argument> 设置用于JMeter的代理服务器使用
-P --proxyPort <argument> 设置JMeter的代理服务器端口使用
-N --nonProxyHosts <argument> 设置非代理主机列表(例如:*.apache.org | localhost)
-u --username <argument> 为JMeter用于使用的代理服务器设置用户名
-a --password <argument> 设置JMeter使用的代理服务器的密码
-J --jmeterproperty <argument>=<value> 定义其他JMeter属性
-G --globalproperty <argument>=<value> 定义全局属性(发送到服务器)例如-Gport=123 或 -Gglobal.properties
-D --systemproperty <argument>=<value> 定义其他系统属性
-S --systemPropertyFile <argument> 附加系统属性文件
-f --forceDeleteResultFile 如果在开始测试之前,请强制删除现有结果文件和Web报告文件夹
-L --loglevel <argument>=<value> [category=]level 例如:jorphan=INFO, jmeter.util=DEBUG or com.example.foo=WARN
-r --runremote 启动远程服务器(如remote_hosts中的定义)
-R --remotestart <argument> 启动这些远程服务器(覆盖remote_hosts)
-d --homedir <argument> 使用JMeter主目录
-X --remoteexit 在测试结束时退出远程服务器(非GUI)
-g --reportonly <argument> 仅从测试结果文件生成报表仪表板
-e --reportatendofloadtests 负载测试后生成报告仪表板
-o --reportoutputfolder <argument> 报表仪表板的输出文件夹,文件夹必须为空,否则会失败

2.2. 常用的jmeter命令

进行简单的jmeter场景测试时,比如说单压力机非分布式的单接口压测,可以直接执行以下命令:

jmeter -n -t xxx.jmx

在上面的命令中,-n表示非gui模式运行,-t xxx.jmx表示运行xxx.jmx测试计划。
在实际的测试中,可以使用其他命令来附加功能。如下:

jmeter -n -t xxx.jmx -l xxx.jtl -e -o xxx/xxx

执行以上命令,执行完成后,将生成xxx.jtl文件,以及在xxx/xxx目录下生成一个仪表盘报表。xxx.jtl可以下载到本地,使用gui模式查看(如在汇总报告、查看结果树等)如下图,选择jtl文件,点击浏览,数据就会被导入:
在这里插入图片描述
jmeter支持通过命令以jtl文件生成html报表。

jmeter -g 2h.jtl -e -o report/2hReport

该命令执行完成后,在report目录下生成一个2hReport文件夹,该文件夹中包含index.html文件,可在浏览器打开。

index.html文件不可以脱离文件夹中其他文件而存在,如果只下载index.html文件打开,网页测试报告不能正常显示。

在稳定性测试的场景中,经常使用以下命令:

nohup jmeter -n -t jmx/tcmi.jmx -l 2h.jtl > 2h_nohup.csv 2>&1 &

前面加上nohup,在长时间的稳定性测试中,可以保持后台运行,即使本地断开了和远程压力机的连接,脚本也可以继续在远程终端执行,不会挂起。

3. jmeter的GUI模式解析

在上文中,命令行执行jmeter用到了一个jmx文件,该文件是测试计划文件,在整个压测过程中起到重要作用,一般来说是在jmeter的图形化模式下生成的。也就是说,我先在mac的jmeter图形化模式中调试了脚本,得到jmx文件,再将该文件上传至linux压力机上执行。下面我们来看看如何使用jmeter的图形化模式,以便输出jmx文件,或者直接在jmeter图形化模式下运行压测。

3.1. mac启动jmeter图形化界面

mac中直接下载jmeter压缩包,解压,无需配置环境变量。解压后打开命令行终端,执行以下命令,即可启动jmeter。

sh /Users/zy/apache-jmeter-5.4.3/bin/jmeter

/Users/zy/apache-jmeter-5.4.3/bin/jmeter为我解压后的jmeter可执行文件路径。该执行文件放在解压文件夹下的bin目录中。
在这里插入图片描述

执行上述命令成功后,图形化界面即可开启。此时命令行打印如下:
在这里插入图片描述
不用管它。我们来看jmeter的图形化界面。
在这里插入图片描述
本界面为经过汉化的图形化界面,jmeter打开默认是英语,可以通过顶部菜单栏“选项”中的选择语言,来选择中文简体。
在这里插入图片描述

个人习惯使用英语。

猜你喜欢

转载自blog.csdn.net/u011090984/article/details/128716325