當咱們的數據庫服務器在某段業務高峯年期間,週期性出現如CPU接近 100%、內存耗盡、IO量大等問題時候,做爲維護人員這時候壓力很大,在作通常性排除後仍然沒有找到緣由。當咱們須要進一步深刻到語句分析層面找問題根源時,ClearTrace這款工具正好能夠幫上忙。 經過該工具能夠識別收集性能數據的這段時間,那類語句耗費系統資源最多,幫助快速定位性能瓶頸根源,處理棘手的性能問題。html
小貼士:sql
在使用ClearTrace工具前,須要經過SQL Profiles或Trace腳本實時收集一段時間性能數據,內容至少包括RPC:完成和SQL:BatchCompleted事件和TextData、CPU、讀、寫和持續時間列。並保存爲.trc文件。數據庫
ClearTrace "標準化" SQL 語句 ,消除SQL語句參數等不一致的語句,並加以合併爲「同一類型」的語句。具體有如下特色:服務器
舉個例子:工具
捕獲到二個語句SQL一、SQL2,注意語句的主體部分都同樣,條件等號右邊參數值不同性能
SQL1:Select * From qryLinksByNewsletterID Where NewsletterID=19 SQL2:Select * From qryLinksByNewsletterID Where NewsletterID=10
SQLTrace 將SQL1和SQL2都被「標準化爲」一類語句SQL(n)ui
SQL(n):SELECT * FROM QRYLINKSBYNEWSLETTERID WHERE NEWSLETTERID={##}
將相似的語句分組在一塊兒,變成相似上面的標準化語句SQL(n),ClearTrace統計SQL(n)綜合全部語句的性能指標的參數值,這些指標值幫助咱們識別哪些"同一類型"語句佔用較多資源,並可能致使性能問題。spa
1. 提供較豐富的操做界面3d
2. 分析前的查詢可經過條件「應用程序」、「主機名」、「登陸名」、「事件」篩選。code
備註:這裏「事件」選擇,當選擇「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仍是很方便的。
第一步,下載ClearTrace工具並解壓,無需安裝直接雙擊ClearTrace(不一樣版本解壓後文件數量可能不同)。
第二步,出現提示建立數據庫配置對話框(使用前確認本地要有SQLServer實例安裝,並有本地Window帳號可訪問的權限)。
第三步,肯定後,按照提示點擊菜單Tool->Options,出現配置對話框,填寫可鏈接的SQLServer 實例名,以及建立數據庫名字(建議名稱:Tracereport),接着提示是否建立,點擊「是」便可。
第四步,接着選擇要分析的trc文件,點擊「import Files」,顯示導入進度和完成後的摘要信息。
導入進度顯示........
第五步,導入完成後,直接顯示分析查詢界面,接下來開始分析語句,找到性能殺手。
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 ,謝謝。