Linux系統下生成TPS,ResponseTime曲線圖

Linux系統下生成TPS,ResponseTime曲線圖

1.背景

經常在Linux服務器執行壓測,結束之後,將壓測數據文件導出到Windows的jmeter桌面版本進行處理,有時傳輸文件較慢。因此有了在Linux系統下處理數據生成png圖片的形式,到時統一導出png結果圖片。

2.搭建環境

安裝如圖插件(圖示爲:在Linux桌面版/macOS中操作)

(注意如果是在Windows操作,複製Windows的文件過去是不行的,還需要自行賦予諸多文件的可執行權限)

3.示例

如圖,現處理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)

然後命令裏僅處理 final.jtl即可

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章