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打开默认是英语,可以通过顶部菜单栏“选项”中的选择语言,来选择中文简体。
在这里插入图片描述

个人习惯使用英语。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值