第22/24周 等待和I/O延遲統計

你們好,歡迎回到性能調優培訓的第22周。上週我談了SQL Server裏的基線,今天咱們繼續,談下SQL Server裏的等待和I/O延遲統計。當我進行SQL服務器健康檢查時,我總會使用這2個維度全局掌握下SQL Server的健康情況。html

等待統計(Wait Statistics)

在SQL Server裏每次你執行一個查詢,查詢會等待。初次看這個看起來很慘淡,但其實有一個很是好的緣由,在SQL Server裏總會等待。每次一個查詢等待,SQL Server經過所謂的等待統計(Wait Statistics)來跟蹤這些等待。在咱們討論等待統計自己前。我想介紹下爲何在執行期間,查詢總會等待。等待的概念主要基於2個原則:數據庫

  • 非同步資源等待(Asynchronous Resource Waiting
  • 協同調度(Cooperative Scheduling)

咱們來詳細看下這2個。每次查詢等待一個當前不可用的資源——例如在緩存池理還沒緩存的頁,或者由於另外一個不兼容的鎖而不能得到的鎖——查詢會進入SQL Server裏所謂的掛起(Suspended)狀態。查詢在掛起狀態一直等待直到資源變成可用。緩存

當資源變成可用時,查詢進入所謂的可執行(Runnable)狀態,再次等待,知道CPU變成可用。當CPU是可用時,查詢最後進入運行(Running)狀態,執行到資源再次變成不可用。當這個發生時,查詢再次進入掛起(Suspended)狀態。下圖顯示了這個查詢生命週期。服務器

 

另外查詢也會因爲在SQLOS(SQL Server操做系統)裏SQL Server實現的協同調度(Cooperative Scheduling)而等待。SQL Server經過使用特定的WIN32 API功能調度它的線程。協同調度意味着當一個查詢自己超過近4ms的額(quantum )時,它從CPU上撤離。由於這個實現方式,在SQL Server裏查詢總會等待:一旦一個資源尚不可用,或者查詢已超過了它的額——查詢就會進入掛起(Suspended)狀態並等待。oop

每次當一個等待狀況發生時,等待時間被SQL Server經過等待統計(Wait Statistics)自動跟蹤。SQL Server經過DMV sys.dm_os_wait_stats 報告這些信息。經過這個DMV返回的每一行都表明SQL Server裏的一個特定等待——所謂的等待類型(Wait Type)。經過評估等待統計,SQL Server告訴你什麼是最突出的等待類型。而後你能夠聚焦這個等待類型並找出內部問題根源,還有對於這個等待類型爲何等待時間如此高。性能

I/O延遲統計(I/O Latency Statistics)

除了等待統計外另外一個很是重要的是SQL Server也會報告的I/O延遲統計(I/O Latency Statistics)。有了這些延遲時間很容易找出你的SQL Server實例哪一個文件有延遲時間。SQL Server經過DMF sys.dm_io_virtual_file_stats來報告這些信息。你能夠傳入database_idfile_id。若是你對這2個值都提供NULL值的話,你會獲得SQL Server實例(數據和日誌)全部查詢相關文件的延遲統計。
spa

對於這個DMF最重要的是io_stall_read_msio_stall_write_ms列。自上次SQL Server重啓後,對你的存儲進行讀寫操做所發生的累積延遲時間。若是你把這2個值除以num_of_read和num_of_writes列,你就獲得從SQL Server角度來講,對於磁盤讀寫的平均延遲時間。這對於你的存儲子系統的故障排除很是方便。操作系統

若是這個DMF報告很是高的延遲時間,你不該該簡單的跑到存儲供應商那裏並買更快的存儲。第一步你總要想下爲何你有這麼高的延遲時間。當我在不一樣的系統上使用這個DMF時,TempDb總會報告很高的延時。但這也不意味着你要把TempDb移到更快的存儲,例如SSD硬盤。第一步總要思考下,對於你特定的數據庫「爲何」你有這麼高的延遲時間。若是是TempDb的話你能夠嘗試最小化TempDb的使用——例如應用合理的索引策略來擺脫執行計劃裏的排序和哈希運算符,這2個運算符會蔓延到TempDb。線程

等待統計和I/O延遲統計直報告你症狀,你的任務是找出性能問題的內在根源,分析它,最後解決它。日誌

小結

在今天的性能調優培訓裏咱們詳細討論了SQL Server裏的等待統計和I/O延遲統計。對於性能監控和故障排除來講,這2個DMVs/DMFs很是重要,由於你從中能夠找出SQL Server當前在哪些領域有性能問題。下週咱們會詳細談下TempDB,我把它叫作SQL Server的公共廁所。請繼續關注!

圍觀PPT:

1123_22_等待統計.rar

相關文章
相關標籤/搜索