前言
做好日常巡檢是數據庫管理和維護的重要步驟,而且需要對每次巡檢日期、結果進行登記,同時可能需要出一份巡檢報告。
本系列旨在解決一些常見的困擾:
- 不知道巡檢哪些東西
- 不知道怎么樣便捷體檢
- 機器太多體檢麻煩
- 生成報告困難,無法直觀呈現結果
性能是系統好壞的重要指標之一,而性能問題可能是因為某一個小點而引起(如參數配置、作業配置、結構設計、軟硬件環境等)。前面七篇文章從不同的方面對系統進行了巡檢,本篇將介紹系列巡檢中最重要的一項(性能)。
性能基線
性能巡檢的指標非常多,情況變化也很大,所以對自己的系統應該建立起一套完整的性能評價模型,何為性能評價模型,就是當系統進入一個平穩期,經過了優化,系統性能已經達到了一個穩定值,那么我們可以用這個穩定的項目作為后期巡檢,及功能上線,結構變更等操作性能對比的基線。
在【體檢項目】頁我們可以使用一個比較穩定的體檢項目的歷史版本作為性能基線,為了區分其他項目可以重命名為”性能基線“。
基於性能基線對比
總體指標
在【概覽】頁我們可以從整體查看系統的性能現狀,主要從【查詢語句-執行時間】、【會話-等待類型】、【檢查項】等,與基線進行對比。查看巡檢中的指標是否與基線指標有較大的差異。
例:當巡檢時【查詢語句-執行時間】中各個時間段的慢語句數量明顯高於基線,那么可以說明系統中的語句可能有變慢的情況。CPU、內存、IO等系統指標壓力升高,說明你系統的壓力變大,變大的原因可能因為有新增的不優化語句或硬件資源出現問題。
注:基線與巡檢的收集時間應保證相同或小幅差異。如果差異很大,可能不具有說明性。
具體指標
計數器
- 系統計數器
- 數據庫計數器
查詢語句
在巡檢中,我們可以主要關注:
- 慢語句數量
- 執行次數top 10
- 持續時間top 10
- CPU消耗top 10
- 讀次數 top 10
- 寫次數top 10
- 影響行數top 10
系統等待與阻塞
在巡檢中,我們可以主要關注:
- 等待的類型及數量分布
- 等待時間分布
- 等待次數top 10
- 等待時間top 10
- CPU時間top 10
- 邏輯讀次數 top 10
- 物理讀次數top 10
- 物理寫top 10
其他指標
數據庫的性能巡檢指標很多,可以根據自己系統的情況選擇,具體指標及優化方式請參見:性能診斷系列
總結
前面的一些巡檢項及配置項,在管理比較規范的系統下,一般並不會出現什么問題,而性能不同,這是一個受很多因素影響,並且比較容易產生問題的項。同時性能對系統的總要程度是不言而喻的,做好前面的巡檢也是性能穩定的保證。