ClearTrace 能幹啥 當我們的資料庫伺服器在某段業務高峰年期間,周期性出現如CPU接近 100%、記憶體耗盡、IO量大等問題時候,作為維護人員這時候壓力很大,在做一般性排除後仍然沒有找到原因。當我們需要進一步深入到語句分析層面找問題根源時,ClearTrace這款工具正好可以幫上忙。 通過該工 ...
ClearTrace 能幹啥
當我們的資料庫伺服器在某段業務高峰年期間,周期性出現如CPU接近 100%、記憶體耗盡、IO量大等問題時候,作為維護人員這時候壓力很大,在做一般性排除後仍然沒有找到原因。當我們需要進一步深入到語句分析層面找問題根源時,ClearTrace這款工具正好可以幫上忙。 通過該工具可以識別收集性能數據的這段時間,那類語句耗費系統資源最多,幫助快速定位性能瓶頸根源,處理棘手的性能問題。
小貼士:
在使用ClearTrace工具前,需要通過SQL Profiles或Trace腳本實時收集一段時間性能數據,內容至少包括RPC:完成和SQL:BatchCompleted事件和TextData、CPU、讀、寫和持續時間列。並保存為.trc文件。
ClearTrace特點
標準化SQL語句
ClearTrace "標準化" SQL 語句 ,消除SQL語句參數等不一致的語句,並加以合併為“同一類型”的語句。具體有以下特點:
- 所有的數值、字元串和日期常數轉換為一個占位符 ,“#”表示
- 抓取的預備SQL顯示為實際語句執行,不做任何更改
- 伺服器端游標與“{游標}”首碼,這樣他們就可以被識別和移除
- 抓取的sp_executesql顯示實際執行的SQL語句,不做任何更改
- 抓取的存儲過程名稱標註為RPC:完成事件
舉個例子:
捕獲到二個語句SQL1、SQL2,註意語句的主體部分都一樣,條件等號右邊參數值不一樣
SQL1:Select * From qryLinksByNewsletterID Where NewsletterID=19 SQL2:Select * From qryLinksByNewsletterID Where NewsletterID=10
SQLTrace 將SQL1和SQL2都被“標準化為”一類語句SQL(n)
SQL(n):SELECT * FROM QRYLINKSBYNEWSLETTERID WHERE NEWSLETTERID={##}
將類似的語句分組在一起,變成類似上面的標準化語句SQL(n),ClearTrace統計SQL(n)綜合所有語句的性能指標的參數值,這些指標值幫助我們識別哪些"同一類型"語句占用較多資源,並可能導致性能問題。
ClearTrace整合分析結果
1. 提供較豐富的操作界面
2. 分析前的查詢可通過條件“應用程式”、“主機名”、“登錄名”、“事件”篩選。
備註:這裡“事件”選擇,當選擇“Statement”是結果統計的是SQL語句,當選擇“Batches”時結果統計的是存儲過程。這個選項可以區分是要做語句分析,還是存儲過程分析。
選擇“Statement”截圖
選擇“Batches”截圖
3. 查詢結果顯示列表,
Item:“標準化”的SQL腳本、#:執行次數、CPU 執行花費時間、Read邏輯讀次數、write寫次數、Duration總體花費時間,另外可選的還有平均CPU、平均Read、平均write、平均Durations。
關於如何從以上幾個參數緯度分析性能問題,網上已經有很多出色文章,這裡就不多說了。
4. 可以通過CPU、 Reads、 Writes 、 Duration、執行次數、平均CPU、平均Reads、 平均Writes 、 平均Duration等進行排序。這是重點,可迅速幫助我們識別哪些語句CPU使用最高、哪些IO使用最多等等,找到性能資源消費的TOP 50還是很方便的。
其他特性
- 處理多個Trace文件
- 處理過的數據存儲在資料庫中,可隨時查詢
- 處理完成的trace文件可歸檔到指定的目錄
ClearTrace如何操作
第一步,下載ClearTrace工具並解壓,無需安裝直接雙擊ClearTrace(不同版本解壓後文件數量可能不一樣)。
第二步,出現提示創建資料庫配置對話框(使用前確認本地要有SQLServer實例安裝,並有本地Window賬號可訪問的許可權)。
第三步,確定後,按照提示點擊菜單Tool->Options,出現配置對話框,填寫可連接的SQLServer 實例名,以及創建資料庫名字(建議名稱:Tracereport),接著提示是否創建,點擊“是”即可。
第四步,接著選擇要分析的trc文件,點擊“import Files”,顯示導入進度和完成後的摘要信息。
導入進度顯示........
第五步,導入完成後,直接顯示分析查詢界面,接下來開始分析語句,找到性能殺手。
資源
ClearTrace版本下載
ClearTrace 版本Build 47:支持 SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, and SQL Server 2008。
ClearTrace 版本Build 42:支持SQL Server 2012之前版本。
下載地址:http://www.scalesql.com/cleartrace/download.html
論壇
http://forums.sqlteam.com/c/cleartrace. 使用中遇到任何Issue可以提交此處。
小結:
至此, 相關ClearTrace工具的介紹完畢,內容比較粗顯,意義在通過此類工具能給DBA或從事資料庫相關工作的朋友在性能調優時有幫助。同樣,感謝無私提供這個工具並一直維護、升級新版本的貢獻者們,正因有他們才讓我們的工作更有效率。
如要轉載,請加本文鏈接並註明出處http://www.cnblogs.com/SameZhao/p/6214364.html 。