51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 1996|回复: 0
打印 上一主题 下一主题

jmeter学习指南之非GUI命令行运行详解

[复制链接]
  • TA的每日心情

    2018-3-26 10:26
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2019-1-28 22:44:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    一、为什么要用命令行运行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、修改配置文件

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

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

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

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

    点击链接加入交流群229390571:https://jq.qq.com/?_wv=1027&k=5rbudQa

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

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

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

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

    这里显示的信息就相当于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结果文件,即可察看详细结果

    3、命令行中的文件路径

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

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

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

    C:toolsapache-jmeter-3.0bin>jmeter -n -t e:addCustomer.jmx -l e:addCustomer.jtl

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

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

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-4-26 16:28 , Processed in 0.066238 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表