Linux系统下生成TPS,ResponseTime曲线图

Linux系统下生成TPS,ResponseTime曲线图

1.背景

经常在Linux服务器执行压测,结束之后,将压测数据文件导出到Windows的jmeter桌面版本进行处理,有时传输文件较慢。因此有了在Linux系统下处理数据生成png图片的形式,到时统一导出png结果图片。

2.搭建环境

安装如图插件(图示为:在Linux桌面版/macOS中操作)

(注意如果是在Windows操作,复制Windows的文件过去是不行的,还需要自行赋予诸多文件的可执行权限)

 

       示例

       如图,现处理u600.jtl文件,使之生成TPS表现曲线图(tps.png)和响应时间表现曲线图(rt.png)两张图

命令:

JMeterPluginsCMD.sh --generate-png test.png --input-jtl results.jtl --plugin-type ResponseTimesOverTime --width 800 --height 600

命令解析:

--generate-png 后面接要生成的图片名称

--input-jtl 后面接要处理的jtl文件

--plugin-type 后面接要生成哪种指标类型的

类型有多种,以下列出主要的

TPS:TransactionsPerSecond

响应时间:ResponseTimesOverTime

响应码:ResponseCodesPerSecond

--width 800 --height 600:生成图片的宽高

 

例1:生成TPS表现曲线图:

JMeterPluginsCMD.sh --generate-png tps.png --input-jtl u600.jtl --plugin-type TransactionsPerSecond  --width 800 --height 600

例2:生成响应时间表现曲线图:

JMeterPluginsCMD.sh --generate-png rt.png --input-jtl u600.jtl --plugin-type ResponseTimesOverTime --width 800 --height 600

 

执行完例1和例2之后,生成图片,然后导出Windows查看

 

 

 

 

 

 

 

4.优缺点分析

优点:便捷快速,节省网络传输文件的时间和空间开销

缺点:如果多个文件位于多台Linux服务器,由于是生成图片,结果无法汇总叠加

针对缺点的改进方案:使结果文件唯一

a. 可采取分布式压测方法

b.压测结果文件全部汇总到某一台压测机器上,所有文件的结果拼接成一个文件(此处有网络传输,但这是同一内网之间的传输,相比从云服务器传回本地Windows效率要高)

合并文件用到的命令:

sed -i ‘1d’ *.jtl(删除所有jtl文件首行解释性文字,不然拼接之后解析会报错)

cat *.jtl > final.jtl(将当前目录下所有jtl文件拼接到final.jtl)

 

posted @ 2020-05-09 14:29  Mosicol  Views(589)  Comments(0Edit  收藏  举报