天天看點

第21/24周 性能監控(PAL工具)

大家好,歡迎來到性能調優教育訓練的最後一個月。在過去的5個月裡,我們談了SQL Server的各種性能相關的話題,包括性能調優的技術和問題。

但當在你面前,SQL Server沒有按你預想的運作時,你會怎麼辦?為了幫你處理這個情況,今天我們會談到下性能監控技術,下周我們會詳細談到SQL Server裡所謂的等待統計(Wait Statistics)。現在開始我們的性能監控。

讓我們建立一個基線!

很多人坐在他們的SQL Server前,知道它的性能非常差,卻不知道如何找出潛在的根源,也不知道如何解決它。對這個問題,我的答案非常簡單:監控并收集目前情況的資訊,和你的基線(baseline)比較,識别出最突出的性能瓶頸。是的,你沒聽錯:你需要建立基線來識别性能問題,不然的話就是在瞎猜。下圖顯示了在建立的基線上,在SQL Server裡,一個非常簡單的識别并解決性能問題的方法。

第21/24周 性能監控(PAL工具)

這個方法的思路非常簡單。在第1步裡你需要收集一些SQL Server的關鍵名額。這些關鍵名額作為你的初始基線。在下一部分我會談下你應該收集的關鍵名額。在你建立了你的基線後,你可以開始在抓取的資料裡識别最常見的性能問題。在下一部分你會看到,有一些免費的工具,可以用它來自動完成這個操作。

最後,你一次隻做一個修改來解決識别出來的性能問題。你沒有看錯:對你要解決的識别出來的性能問題,你應該隻應用一個修改到你的SQL Server。如果一次修改太多,你就不能确認,哪個修改解決了你的性能問題,還有哪個修改損害了你的性能。這對性能故障排除非常重要!

在你應用你的改變後,你可以再次測試下你的關鍵名額,和你建立的基線來驗證下你的修改是好還是壞。在這一步你收集的心的關鍵名額,可以作為你新的基線。很簡單,是不是?唯一你要意識到的是你要定義一個放行準則(exit criteria)。在SQL Server裡,你可以反複通過這個循環。是以你要定義對于你的SQL Server,什麼時候的性能才是“足夠好”。

收集關鍵名額

當我們讨論建立基線時,總會有個問題,你應該包含哪些關鍵名額?對于SQL Server,有太多不同的相關性能計數器,SQL Server本身也對它的健康狀況提供很多相關資料的不同DMV。因為不想讓事情變得複雜,在第一步我隻抓取一些東西來獲得SQL Server健康狀态的大緻情況。

  1. 一些特定的SQL Server性能相關的計數器
  2. 等待統計(Wait Statistics)
  3. I/O延遲統計資訊(I/O Latency Statistics)

現在我想談下這些性能相關的計數器,下周我們會詳細談下等待統計和I/O延遲統計資訊。為SQL Server抓取相關的性能計數器非常簡單:你使用微軟提供的免費工具PAL。

PAL工具為SQL Server提供專門的模闆,在模闆裡你可以找到針對SQL Server的所有相關的性能計數器。可以通過設定新的所謂的資料收集(Data Collection)來直接導入模闆檔案到Windows性能螢幕。是以你可以在1分鐘内就可以配置好SQL Server相關的性能計數器!

PAL工具另一個優點是:用它你可以自動分析Windows性能螢幕抓取的.blg檔案。作為輸出,你會得到一個很大的HTML報表,告訴你在哪方面你可能有性能問題。下圖來自這個報表的簡單圖例。

第21/24周 性能監控(PAL工具)

當我進行性能調優時,第一步總是配置Windows性能監控資料收集,然後我會對它分析好幾個小時。專注于分析,把力氣花在這上面是個非常好的想法。

小結

今天我們詳細談了針對可能的性能問題,你如何監控你的SQL Server。這裡最重要的一點是你要建立一個基線的事實。有了基線,就很容易判斷部署的修改是好還是壞。沒有基線,你隻能瞎猜修改是不是有用的,還是沒用的。

在第2部分我們介紹了微軟提供的免費工具PAL。使用PAL工具很容易在Windows性能螢幕裡配置一個資料收集,用來抓取SQL Server性能相關的計數器。另外你也可以用這個工具來自動分析抓取的性能計數器。下周我們會詳細看下SQL Server裡等待和I/O延遲統計資訊。

請繼續關注!

圍觀PPT:

1117_21_PAL_Tools.rar

注:此文章為

WoodyTu

學習MS SQL技術,收集整理相關文檔撰寫,歡迎轉載,請在文章頁面明顯位置給出此文連結!

若您覺得這篇文章還不錯請點選下右下角的推薦,有了您的支援才能激發作者更大的寫作熱情,非常感謝!

繼續閱讀