IT技術互動交流平臺

一款快速識別最慢語句的性能分析工具

作者:same.zhao  來源:IT165收集  發布日期:2016-12-26 20:23:32

ClearTrace 能干啥

當我們的數據庫服務器在某段業務高峰年期間,周期性出現如CPU接近 100%、內存耗盡、IO量大等問題時候,作為維護人員這時候壓力很大,在做一般性排除后仍然沒有找到原因。當我們需要進一步深入到語句分析層面找問題根源時,ClearTrace這款工具正好可以幫上忙。 通過該工具可以識別收集性能數據的這段時間,那類語句耗費系統資源最多,幫助快速定位性能瓶頸根源,處理棘手的性能問題。

小貼士:

在使用ClearTrace工具前,需要通過SQL Profiles或Trace腳本實時收集一段時間性能數據,內容至少包括RPC:完成SQL:BatchCompleted事件TextDataCPU、讀、寫持續時間列。并保存為.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 。

Tag標簽: 性能分析   語句   工具  
  • 專題推薦

About IT165 - 廣告服務 - 隱私聲明 - 版權申明 - 免責條款 - 網站地圖 - 網友投稿 - 聯系方式
本站內容來自于互聯網,僅供用于網絡技術學習,學習中請遵循相關法律法規
香港最快开奖现场直播结果