JMeterPluginCMD命令行工具使用详解
MeterPluginCMD命令行工具生成png图片和csv统计文件
Jmeter是个纯java的开源的轻量级性能测试工具,功能强大。因为是轻量级的,与loadrunner相比,报告统计的相对较少。不过有jmeter的插件-JMeterPlugins,可以提供不少其他的报告,包括各种响应时间、吞吐率、线程等的变化曲线等
并且这个插件提供了命令行工具,可以将我们看到的各种曲线,各种报告统计成png图片,或者csv文件。这样我们就完全可以通过命令行来运行jmeter,生成jtl文件,然后在解析jtl文件,产生各种报告,或者展示到网页,或者插入到数据库,等等。
英文地址:http://jmeter-plugins.org/wiki/JMeterPluginsCMD/
安装
下载JMeterPlugins-Standard-1.2.0.zip和JMeterPlugins-Extras-1.2.0.zip,解压将里面的jar包复制到jmeter的lib/ext文件夹中即可。
用法
生成png图片:
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-png ThreadsStateOverTime.png
--input-jtl 1.jtl --plugin-type ThreadsStateOverTime
生成csv图片:
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter
--generate-csv ThreadsStateOverTime.csv --input-jtl 1.jtl
--plugin-type ThreadsStateOverTime
当然也可以一次性生成两个文件。下面是改命令的参数:
- –generate-png 指定png图片文件
- –generate-csv 指定csv文件名
- –input-jtl 指定要解析的jtl文件
- –plugin-type 指定要输出的数据类型,比如响应时间、cpu使用率、错误率等
Plugin Type Classes
插件提供解析下面这些数据的对象:
- AggregateReport = JMeter’s native Aggregate Report, can be saved only as CSV 聚合报告
- SynthesisReport = mix between JMeter’s native Summary Report and Aggregate Report, can be saved only as CSV
- ThreadsStateOverTime = Active Threads Over Time 线程数随时间的变化曲线
- BytesThroughputOverTime 流量随时间的变化曲线
- HitsPerSecond 点击率随时间的变化曲线
- LatenciesOverTime 延迟随时间的变化曲线
- PerfMon = PerfMon Metrics Collector 服务器参数随时间变化曲线注意这个需要在jmx脚本中添加,服务器监控,要指定ip、端口、监控项,还需要指定perfMon的输出文件,或者在命令行指定,如
sh jmeter.sh -n -t HTTP请求-baidu.jmx -l 2.jtp -JforcePerfmonFile=true
,这样会输出在当前路径。 - ResponseCodesPerSecond 响应码随时间变化曲线
- ResponseTimesDistribution 响应时间分布
- ResponseTimesOverTime 响应时间随时间变化曲线
- ResponseTimesPercentiles 响应时间的百分比
- ThroughputVsThreads 吞吐率随线程变化曲线
- TimesVsThreads = Response Times VS Threads 响应时间随线程变化曲线
- TransactionsPerSecond 事务随时间变化曲线
- PageDataExtractorOverTime
- MergeResults
#!/bin/sh
file=$1
perfmonPath=$2 CMDRunnerPath=/Users/apple/work/jmeter-2.11/lib/ext #generate png
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-png ${file%.*}_ThreadsStateOverTime.png --input-jtl $file --plugin-type ThreadsStateOverTime
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-png ${file%.*}_BytesThroughputOverTime.png --input-jtl $file --plugin-type BytesThroughputOverTime
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-png ${file%.*}_HitsPerSecond.png --input-jtl $file --plugin-type HitsPerSecond
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-png ${file%.*}_LatenciesOverTime.png --input-jtl $file --plugin-type LatenciesOverTime
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-png ${file%.*}_ResponseCodesPerSecond.png --input-jtl $file --plugin-type ResponseCodesPerSecond
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-png ${file%.*}_ResponseTimesDistribution.png --input-jtl $file --plugin-type ResponseTimesDistribution
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-png ${file%.*}_ResponseTimesOverTime.png --input-jtl $file --plugin-type ResponseTimesOverTime
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-png ${file%.*}_ResponseTimesPercentiles.png --input-jtl $file --plugin-type ResponseTimesPercentiles
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-png ${file%.*}_ThroughputVsThreads.png --input-jtl $file --plugin-type ThroughputVsThreads
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-png ${file%.*}_TimesVsThreads.png --input-jtl $file --plugin-type TimesVsThreads
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-png ${file%.*}_TransactionsPerSecond.png --input-jtl $file --plugin-type TransactionsPerSecond
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-png ${file%.*}_PageDataExtractorOverTime.png --input-jtl $file --plugin-type PageDataExtractorOverTime
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-png ${file%.*}_PerfMon.png --input-jtl $2 --plugin-type PerfMon #generate csv
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-csv ${file%.*}_AggregateReport.csv --input-jtl $file --plugin-type AggregateReport
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-csv ${file%.*}_ThreadsStateOverTime.csv --input-jtl $file --plugin-type ThreadsStateOverTime
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-csv ${file%.*}_BytesThroughputOverTime.csv --input-jtl $file --plugin-type BytesThroughputOverTime
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-csv ${file%.*}_HitsPerSecond.csv --input-jtl $file --plugin-type HitsPerSecond
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-csv ${file%.*}_LatenciesOverTime.csv --input-jtl $file --plugin-type LatenciesOverTime
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-csv ${file%.*}_ResponseCodesPerSecond.csv --input-jtl $file --plugin-type ResponseCodesPerSecond
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-csv ${file%.*}_ResponseTimesDistribution.csv --input-jtl $file --plugin-type ResponseTimesDistribution
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-csv ${file%.*}_ResponseTimesOverTime.csv --input-jtl $file --plugin-type ResponseTimesOverTime
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-csv ${file%.*}_ResponseTimesPercentiles.csv --input-jtl $file --plugin-type ResponseTimesPercentiles
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-csv ${file%.*}_ThroughputVsThreads.csv --input-jtl $file --plugin-type ThroughputVsThreads
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-csv ${file%.*}_TimesVsThreads.csv --input-jtl $file --plugin-type TimesVsThreads
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-csv ${file%.*}_TransactionsPerSecond.csv --input-jtl $file --plugin-type TransactionsPerSecond
java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-csv ${file%.*}_PageDataExtractorOverTime.csv --input-jtl $file --plugin-type PageDataExtractorOverTime
JMeterPluginCMD命令行工具使用详解的更多相关文章
- 第九章 kubectl命令行工具使用详解
1.管理k8s核心资源的三种基础方法 陈述式管理方法:主要依赖命令行CLI工具进行管理 声明式管理方法:主要依赖统一资源配置清单(manifest)进行管理 GUI式管理方法:主要依赖图形化操作界面( ...
- Wireshark命令行工具tshark详解(含例子)-01
Wireshark命令行工具tshark使用小记 1.目的 写这篇博客的目的主要是为了方便查阅,使用wireshark可以分析数据包,可以通过编辑过滤表达式来达到对数据的分析:但我的需求是,怎么样把D ...
- Windows下SVN命令行工具使用详解
根据我的记忆,似乎Windows 7下自自带一个svn命令行工具.如果你的机器没有,不必担心.你可以从http://subversion.tigris.org获 取subversion for win ...
- Oracle--DBV命令行工具用法详解及坏块修复
一,介绍 DBV(DBVERIFY)是Oracle提供的一个命令行工具,它可以对数据文件物理和逻辑两种一致性检查.但是这个工具不会检查索引记录和数据记录的匹配关系,这种检查必须使用analyze va ...
- Redis进阶实践之十四 Redis-cli命令行工具使用详解第一部分
一.介绍 redis学了有一段时间了,以前都是看视频,看教程,很少看官方的东西.现在redis的东西要看的都差不多看完了.网上的东西也不多了.剩下来就看看官网的东西吧,一遍翻译,一遍测试. ...
- Redis进阶实践之十五 Redis-cli命令行工具使用详解第二部分(结束)
一.介绍 今天继续redis-cli使用的介绍,上一篇文章写了一部分,写到第9个小节,今天就来完成第二部分.话不多说,开始我们今天的讲解.如果要想看第一篇文章,地址如下:http: ...
- Redis进阶实践之十四 Redis-cli命令行工具使用详解
转载来源:http://www.cnblogs.com/PatrickLiu/p/8508975.html 一.介绍 redis学了有一段时间了,以前都是看视频,看教程,很少看官方的东西.现在redi ...
- Android中使用am命令实现在命令行启动程序详解
在Android中,除了从界面上启动程序之外,还可以从命令行启动程序,使用的是命令行工具am. 复制代码代码如下: usage: am [subcommand] [options] start an ...
- Jmeter(三十八) - 从入门到精通进阶篇 - 命令行运行JMeter详解(详解教程)
1.简介 前边一篇文章介绍了如何生成测试报告,细心地小伙伴或者同学们可以看到宏哥启动Jmeter生成测试报告不是在gui页面操作的,而是在gui页面设置好保存以后,用命令行来生成测试报告的.这一篇宏哥 ...
随机推荐
- mysql max_allowed_packet自动重置为1024 终结解决
背景: 测试环境1台centOS机器,最近一段频繁报“ Caused by: com.mysql.jdbc.PacketTooBigException: Packet for query is too ...
- C++ 中的 const 详解
作者:jostree 转载请注明出处 http://www.cnblogs.com/jostree/p/4235721.html 1.为什么使用 const int 而不使用 #define 在使用# ...
- javascript 逻辑运算符
javascript逻辑运算符 NOT(!) AND(&&) OR(||) NOT(!) 返回值的类型一定是Boolean值的 运算数也是Boolean值 返回值是:与相反的boole ...
- centos中安装chromium和flash
安装环境:centos 6.5 64位 在centos中安装chromium 安装Google源 cd /etc/yum.repos.d/ sudo wget http://people.CentOS ...
- nginx反向代理的配置优化
作者:守住每一天 blog:liuyu.blog.51cto.combbs:bbs.linuxtone.orgmsn:liuyubj520#hotmail.comemail:liuyu105#gmai ...
- ECSHOP订单自动确认
1.运行sql代码,生成数据库 CREATE TABLE `ecs_order_auto_confirm` ( `id` INT() UNSIGNED NOT NULL AUTO_INCREMENT, ...
- 笨办法学 Python (第三版)(转载)
笨办法学 Python (第三版) 原文地址:http://blog.sina.com.cn/s/blog_72b8298001019xg8.html 摘自https://learn-python ...
- Zendframework 模块加载事件触发顺序。
模块加载时事件触发的时间顺序: 0.loadModules(ModuleEvent::EVENT_LOAD_MODULES) 1. loadModule.resolve(ModuleEvent::E ...
- SVN四部曲之SVN简单使用教程入门
1. 签出源代码到本机 在本机创建文件夹StartKit,右键点击Checkout,弹出如下图的窗体: 2. 2 在上图中URL of Repository:下的文本框中输 ...
- SSHDroid(SSH Server for Android)通过PC或命令连接android
1.下载berserker.android.apps.sshdroid.apk .(如果你懒的下载,给我留言,我会发给你) 2.安装到手机,显示如图: 简单解释一下:一般android系统没有root ...