sqlserver效能調優方法論與常用工具,sqlserver調優

來源:互聯網
上載者:User

sqlserver效能調優方法論與常用工具,sqlserver調優

早期的文章中,曾經提到過效能調優中的DETECT方法論,這裡先簡單回顧一下DETECT方法論。


Discover the problem :發現問題

Explore the conditions:探究原因

Track down possible approaches:提供可能解決的方式

Execute the most likely approach:執行最好可能的解決方式

Check of success :確認是否成功(如果沒有成功,反覆執行上面的步驟)

Tie up loose ends :完成剩餘工作


首先看 Discover ,發現問題

是否已經簡潔的描述了整個問題?

使用者當前的基準在哪裡?

使用者期望的是什嗎?

並不是所以的問題都可以解決的


再看Explore,探究原因

取得證據

  • SqlProfiler跟蹤 /Sql Trace
  • DMV 和 DMF
  • ShowPlan執行計畫輸出
  • 各種系統的效能計數器
  • sqlserver特有的效能計數器

檢查最明顯的問題(探究問題先不要深入)

 

Track down  提供可能的解決方式

第一階段,建立證明假設的計劃

第二階段,建立解決問題的計劃


執行最有可能的解決方案

第一階段,執行測試計劃來證明你的假設

第二階段,執行問題的解決方案


Check,確認成功與否

第一階段

你的計劃證明了你的假設,還是推翻了他?

第二階段

  • 你的計劃是否改變了現象?
  • 瓶頸是否轉移了?
  • 解決方案是否符合你原先的目標?

記住:該過程通常是遞迴反覆執行的


Tie up 完成剩餘工作,收尾

  • 效能調優是否達會有無法預計的邊際效應?
  • 所做的修改是否真正解決了問題,會不會短時間又碰到相同問題?
  • 還需要做哪些跟蹤的工作?


上面說了那麼方法論,雖然很枯燥,但是還是有指導意義的。下面來點實際的知識。


瓶頸分析

瓶頸的定義

瓶頸=需求達到的速率>實際處理量

流程:

  • 決定是卡在哪一個點上
  • 決定在隊列中等待的狀況
  • 減少輸入(需求達到的速率)或是增加同時的處理量
  • 決定收益
  • 決定成本

常見瓶頸的監視任務

  • 監視記憶體佔用
  • 監視線程和CPU使用
  • 監視硬碟IO
  • 監視低效能查詢
  • 監視預存程序、sql和使用者活動
  • 監視當前鎖定和使用者互動

建立效能調優的計劃

效能調優是反覆的過程,一而再,再而三的迴圈,一次又一次趨近的修正,要利用文字記錄以說明

  • 理出頭緒,突顯問題並證明
  • 系統的逼近目標
  • 有共識,知道彼此談論的標地
  • 能夠匯總比較
  • 當系統出現的多個瓶頸,找出最關鍵的,成本最低的先執行調優

執行效能調優的計劃時,要確定對線上生產環境的影響


方法論--縮小




效能調優中常用的工作


  • windows事件檢視器
  • windows系統監視器
  • SSMS中的當前使用中視窗
  • T-SQL工具
  • Sql Profiler
  • 查詢分析器
  • Database Engine Tuning Advisor

windows事件檢視器,主要是查看以下的事件記錄

  • windows應用程式記錄檔
  • windows系統日誌
  • windows安全日誌

windows系統監視器能夠跟蹤:

  • sql server I/O
  • sql server 記憶體
  • sql server使用者
  • sql server 鎖
  • 複製活動


SSMS中的活動監視器:

  • 活動使用者任務
  • 資源等待
  • 資料檔案I/O
  • 耗費大量資源的查詢

T-SQL工具:

  • 系統預存程序
  • 全域變數
  • T-SQL語句
  • DBCC
  • 跟蹤標記
  • DMF/DMF


Sql Profiler,跟蹤並捕獲sqlserver事件

  • 選擇需要跟蹤的事件
  • 選擇跟蹤模版
  • 選擇需要捕獲的資料
  • 有意義對資料進行分類

查詢分析器

  • 顯示查詢執行計畫
  • 顯示伺服器跟蹤
  • 顯示伺服器端統計資訊
  • 顯示用戶端統計資訊

Database Engine Tuning Advisor

  • 分析瓶頸
  • 給出建議sql語句(索引和統計資訊)



相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.