最近在進行新項目的壓測,把《基于Jmeter的性能測試框架搭建》提到的框架又做了一些改進,主要是針對Grafana的配置石窑。展開話題前先上一張性能監(jiān)控圖牌芋。
那么上圖展現(xiàn)的數(shù)據(jù)是否準確呢?我們可以通過以下方式進行驗證尼斧。
-
查看jenkins的構(gòu)建日志姜贡,如下圖所示」卓茫可發(fā)現(xiàn)tps楼咳、響應時間、請求總數(shù)烛恤、失敗請求數(shù)等與grafana展現(xiàn)一致母怜。
jenkins構(gòu)建日志 - 使用top,vmstat等命令查看cpu損耗,與Grafana展現(xiàn)一致缚柏。
ps:下圖僅用于top命令示范苹熏,與上面的性能監(jiān)控圖數(shù)據(jù)無直接關(guān)聯(lián)。
CPU_top
在展開Grafana配置詳述前币喧,需先弄清楚以下metrics的含義(也可訪問Jmeter官網(wǎng))轨域,以便后續(xù)配置Grafana面板。
metrics
metrics
metrics
接著就可以進行面板配置了杀餐,各指標配置如下干发。 -
tps
tps -
總的請求數(shù)(成功+失敗請求)
TotalRequests -
失敗請求數(shù)
FaileRequests -
VU
VU -
成功請求的響應時間(avg,pct99,pct95,pct90)
成功請求的RespondTime -
cpu,由于監(jiān)控服務器為4核史翘,所以加了獲取條件where cpu = cpu-total.
下圖監(jiān)控了用戶cpu和系統(tǒng)cpu,對應top命令展現(xiàn)的us和sy枉长,sy如果值太高,說明系統(tǒng)調(diào)用琼讽,例如IO操作頻繁必峰。其他參數(shù)可自行百度。
CPU -
如果有需要钻蹬,也可以對io,內(nèi)存等進行監(jiān)控吼蚁。
其他
由于Influxdb是一個時序數(shù)據(jù)庫,Grafana也是按時序來展現(xiàn)性能結(jié)果问欠,所以需留意Time range的配置肝匆,否則可能造成數(shù)據(jù)誤差。比如Time range設置為2018-08-03 15:30:00 To 16:00:00溅潜,那么Grafana就會展現(xiàn)15:30到16:00:00的數(shù)據(jù),如果15:30:00開始構(gòu)建接口1薪伏,15:40接口1構(gòu)建完成滚澜,15:41開始接口2構(gòu)建,15:50接口2構(gòu)建完成嫁怀,那么此時Grafana面板展現(xiàn)的tps,響應時間设捐,Total借浊,failed等數(shù)據(jù)是【接口1+接口2】的綜合取值。
講完Grafana萝招,咱們再回歸壓測腳本蚂斤,之前文章也提過,Jmeter編寫壓測腳本異常簡單槐沼,執(zhí)行腳本后曙蒸,自動生成上述的metrics,如下所示岗钩。
ps:新版本jmeter的Backend Listener亦支持influxdb纽窟,有興趣的童鞋可以嘗試。
不得不說兼吓,Grafana和Jmeter真的是天作之合臂港。