測試數據傳輸前,研發要求需要監控10萬,50萬,100萬數量級的數據在傳輸過程數據庫服務器的資源消耗情況,因為數據傳輸服務是定時任務執行,配置10秒中一次,一次處理500條,處理完10萬數據可能要半個小時,而用linux的top,free等命令查看資源使用情況非常的不直觀,而且只能查看當前時間點或者1分鍾,5分鍾,15分鍾內的平均數據。剛好最近在了解資源監控方面的工具和方法,下載了Monyog ,一款非常簡單好用的監控mysql 數據庫的工具。
Monyog我一開始下載的是8.5.0-0版本,沒有找到對應的注冊碼,只有試用期,后來下載了破解版的5.7.1-0版本,附帶了破解碼,需要的小伙伴可以自行去網上搜索下載,安裝配置比較簡單,但是功能很強大,下面是一些常用的配置和測試過程中的使用項
下載安裝我設置的登錄密碼為空,直接在瀏覽器地址上輸入:http://127.0.0.1:5555即可進入登錄頁面,默認用戶名為admin,密碼為空,登錄后可先進行相關設置
1、基本配置
2、SSH設置
3、慢查詢的設置
另外還需要到數據庫服務器上找到/etc目錄的my.cnf文件,在文件的最后加上以下內容,保存文件
log-slow-queries=/var/lib/mysql/slowquery.log
long_query_time=2
log-queries-not-using-indexe
4、死鎖設置
基礎的配置完成后,可進入面板,如下圖所示
Monitors提供了服務器各項參數和指標以及狀態,狀態通過紅色,黃色,綠色來區分,超過閾值的指標則顯示紅色,需要我們關注,查看原因
這里講下死鎖項的信息InnoDB Deadlocks,剛好測試過程中查看后台日志出現了死鎖,導致數據傳輸異常,分析InnoDB Deadlocks打印的原因是因為其他服務同時對某一張表進行操作引起,而這個服務其實是數據庫配置的一個定時事件,典型的在集成測試過程中,新功能或業務受歷史功能或業務的影響,不會每次都重現,但是一旦觸發了那個場景就會出現異常,可見日志中任何一個error都可能是致命的,對測試而言任何一個錯誤提示都不可小看
Real-Time面板 實時監控服務器上的信息,比如數據庫的操作,慢查詢,狀態,連接數等
Dashboard面板可查看mysql指標和系統資源指標,各自行配置添加需要監控的報表,與我們做壓力測試的jmeter和LR監控樣式類似,測試完成后可直接截圖到報告中
Query Analyzer面板,查詢分析器,很直觀的展示了不同類型的查詢情況,點擊sql語句可以彈出詳情頁面,查看詳情信息
暫時先整理到這里,持續總結, 不斷學習