1. 程式人生 > >SQL SERVER日常運維巡檢系列之八——效能

SQL SERVER日常運維巡檢系列之八——效能

前言

  做好日常巡檢是資料庫管理和維護的重要步驟,而且需要對每次巡檢日期、結果進行登記,同時可能需要出一份巡檢報告。

  本系列旨在解決一些常見的困擾:

  • 不知道巡檢哪些東西
  • 不知道怎麼樣便捷體檢
  • 機器太多體檢麻煩
  • 生成報告困難,無法直觀呈現結果

  效能是系統好壞的重要指標之一,而效能問題可能是因為某一個小點而引起(如引數配置、作業配置、結構設計、軟硬體環境等)。前面七篇文章從不同的方面對系統進行了巡檢,本篇將介紹系列巡檢中最重要的一項(效能)。

效能基線

  效能巡檢的指標非常多,情況變化也很大,所以對自己的系統應該建立起一套完整的效能評價模型,何為效能評價模型,就是當系統進入一個平穩期,經過了優化,系統性能已經達到了一個穩定值,那麼我們可以用這個穩定的專案作為後期巡檢,及功能上線,結構變更等操作效能對比的基線。

  在【體檢專案】頁我們可以使用一個比較穩定的體檢專案的歷史版本作為效能基線,為了區分其他專案可以重新命名為”效能基線“。

  

  

基於效能基線對比

 總體指標

  在【概覽】頁我們可以從整體檢視系統的效能現狀,主要從【查詢語句-執行時間】、【會話-等待型別】、【檢查項】等,與基線進行對比。檢視巡檢中的指標是否與基線指標有較大的差異。

  例:當巡檢時【查詢語句-執行時間】中各個時間段的慢語句數量明顯高於基線,那麼可以說明系統中的語句可能有變慢的情況。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

  

 其他指標

  資料庫的效能巡檢指標很多,可以根據自己系統的情況選擇,具體指標及優化方式請參見:效能診斷系列

總結

  前面的一些巡檢項及配置項,在管理比較規範的系統下,一般並不會出現什麼問題,而效能不同,這是一個受很多因素影響,並且比較容易產生問題的項。同時效能對系統的總要程度是不言而喻的,做好前面的巡檢也是效能穩定的保證。