[8] JMeter-非GUI命令行运行详解

 0 

今日文章摘要

 

今日文章主要内容介绍

一、为什么要用命令行运行jmeter

二、解读命令行参数

三、Linux和windows系统下运行jmeter命令行、及结果查看

 

为什么要用命令行运行jmeter

 

一、为什么要用命令行运行jmeter?

主要有以下三点:

1) 图形化界面消耗更多资源,如CPU和内存,容易使压力机达到瓶颈,从而影响测试结果。

2) 图形化界面不支持大型的负载测试和性能测试,并发较大时,jmeter会崩溃。

3) 命令行方式可以把脚本配置到Jenkins上实现持续集成,做成自动化测试。

 

解读命令行参数

 

二、解读命令行参数

1、常用格式

jmeter -n -t [jmx脚本路径] -l [测试输出结果文件路径]

参数解释:

-n: 表示 non gui mode,就是非图形化模式

-t: 即testplan,后跟要运行的jmeter脚本的路径和脚本名称。

    若指定路径下没有指定名称的脚本,则自动创建。

    若没有路径只写脚本名称,则默认是在当前目录查找或创建。

-l: 后跟输出结果文件路径和结果文件名称。

    若指定路径下没有指定名称的脚本,则自动创建,可以生成csv或者jtl文件。
    
    若只写脚本名称,则默认是在当前目录查找或创建。



示例: jmeter -n -t testplan.jmx -l test.jtl

示例含义:以命令行模式运行当前目录下的testplan.jmx文件,并在当前目录下输出日志文件test.jtl

 

2、其它参数命令:

jmeter -n -t test.jmx -R 10.6.5.31,10.6.5.32 -l log.jtl

jmeter -n -t test.jmx -l  log.jtl -H 192.168.1.1 -P 8080


-r/R 远程执行 -> 启动远程服务,即分布式执行多台压力机


-H 代理主机 -> 设置 JMeter 使用的代理主机


-P 代理端口 -> 设置 JMeter 使用的代理主机的端口号


使用-R指定节点时,要首先在这些节点上启动jmeter-server的服务

 

Linux和windows系统下运行jmeter命令行

 

三、Linux系统运行jmeter命令行

1、修改配置文件

如果你是第一次使用命令行执行测试脚本,那么看到的输出结果可能是类似下面这样的:

[8] JMeter-非GUI命令行运行详解_第1张图片

这些信息仅仅告诉我们执行成功啦。

但是我想要看到本次测试的更多结果,要怎么办呢?

可以通过修改jmeter.properties配置文件来解决:

[8] JMeter-非GUI命令行运行详解_第2张图片

将上面的注释打开,并且值修改成true,就会打开该条记录,jmeter就会将对应的信息输出到我们指定的jtl文件中(不过这样会在压测过程中产生大量的日志文件,真正压测时,最好不要开太多的日志记录),然后可以在结果文件中查看详细的信息。

 

但是我们想在脚本执行的过程中实时查看结果信息,要怎么做呢?

同样是修改配置文件jmeter.properties

[8] JMeter-非GUI命令行运行详解_第3张图片

打开上面的summariser.name、summariser.interval、summariser.out这三个配置项,保存,重新运行jmeter,应该就可以在shell里看到统计信息了,如下图所示:

[8] JMeter-非GUI命令行运行详解_第4张图片

这里显示的信息就相当于GUI界面下聚合报告元件所显示的信息。

其中主要有两种信息:summary + 和summary =,其它项都是类似的

summary +   4386 in 00:00:30:在30秒内增加了4386个请求,其中时间间隔由配置文件中的interval统计频率的值决定

summary =  27455 in 00:03:12:在3分12秒内产生的总请求数是27455个,其中的时间段是从脚本运行开始计算到当前时间为止,一般在脚本运行过程中主要关注 “summary=” 信息即可

 

146.2/s:系统每秒处理的请求数,相当于TPS

Avg:   684:平均响应时间

Min:   201:最小响应时间

Max:  1499:最大响应时间

Err:     0 (0.00%):错误数/率

Active: 100:活动的线程数

 

2、那么怎么查看生成的jtl文件呢?

  • 把生成的jtl结果文件下载到本地

  • 打开jmeter,添加察看结果树和聚合报告元件

  • 在”文件名”处选择浏览,打开jtl结果文件,即可察看详细结果

[8] JMeter-非GUI命令行运行详解_第5张图片

3、命令行中的文件路径

示例:jmeter -n -t testplan.jmx -l test.jtl

JMeter 默认去当前目录寻找脚本文件,并把日志记录在当前目录。比如你在 C:\tools\apache-jmeter-3.0\bin 目录下执行以上命令,JMeter 会去该目录下寻找 test.jmx 脚本并把执行结果放在该目录。

如果你的脚本在其他目录,而且想要把执行结果放在另外文件夹,需要使用绝对路径告诉 JMeter,比如:

C:\tools\apache-jmeter-3.0\bin>jmeter -n -t e:\addCustomer.jmx -l e:\addCustomer.jtl

 

 

四、windows系统下运行jmeter命令行

在windows下运行命令行跟linux下是一样的,只是通过cmd命令行工具来运行的

 

end

-------------------------

本文首发于本人原创公众号【媛测】(原名-玩转jmeter),专注分享性能、自动化测试等相关知识,寻找志同道合之士共同成长!扫码关注后分别回复jmeter、python、linux,领取个人总结资料。

 

你可能感兴趣的:(jmeter,性能测试,JMeter从入门到精通)