在性能測試中為什麼需要監控?我們需要了解程式在運作過程中關于各個服務節點的狀态,而伺服器實體機是有資源制約的,有限制邊界的,不同的軟硬體配置在實際性能測試中造成的影響也不一緻。
性能測試的目的主要有以下三點:
1.評價系統目前性能,判斷系統是否滿足預期的性能需求。例如上線性能要求。
2.判定系統的性能表現,預判系統負載壓力承受力,知道系統的極限。
3.尋找系統可能存在的性能問題,定位性能瓶頸并解決問題。
針對以上性能測試的目的,就必須首先執行性能測試并明确需要收集、監控哪些關鍵名額;通常情況下,性能測試監控名額主要分為:資源名額和系統名額,如下圖所示,資源名額與硬體資源消耗直接相關,而系統名額則與使用者場景及需求直接相關。
首先來了解下本次用到了哪些工具
壓測工具i:Jmeter
資料庫:mysql
監控工具:netdata
可視化分析:grafana
儲存時序資料:influxDB
以及一些已經部署好的前端背景服務
現在開始配置監控工具
一.配置jmeter監聽器(與influxdb進行關聯)
二.運作jmeter檢視influxdb資料(在進行壓測時,監聽器會通過配置的influxdb位址進行被測接口的資料傳輸)
進入容器:docker exec -it influxdb /bin/sh
進入influx:influx
檢視資料庫:show databases
使用jmeter:use jmeter
檢視jmeter庫清單:show measurements
檢視并發資料:select * from "jmeter"
三.grafana添加influxdb的jmeter資料
四.grafana添加jmeter面闆
我這邊用的是4026,https://grafana.com/grafana/dashboards/4026
import後生成面闆
五.grafana監控面闆展示