SQL Server 性能優化之RML Utilities.docx_第1頁
SQL Server 性能優化之RML Utilities.docx_第2頁
SQL Server 性能優化之RML Utilities.docx_第3頁
SQL Server 性能優化之RML Utilities.docx_第4頁
SQL Server 性能優化之RML Utilities.docx_第5頁
已閱讀5頁,還剩7頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

SQL Server 性能優化之RML Utilities:快速入門(Quick Start)(1)安裝Quick Start工具RML(Replay Markup Language)是MS SQL Server產品支持服務團隊內部開發使用的一個Trace分析工具,最新的版本支持SQL Server 2005和SQL Server 2008。功能: 、分析最占資源的應用和查詢。 、分析跟蹤期間的查詢計劃變更的情況。 、分析哪些查詢比起以前來說變慢了。工具地址:/psssql/archive/2008/11/12/cumulative-update-1-to-the-rml-utilities-for-microsoft-sql-server-released.aspx。該文章所有內容均來自于工具的幫助文檔。Quick Start如果你以前從來沒有使用過這個RML Utilities工具,Quick Start能夠幫助指導您去使用它們,通過該工具下的示例,我們將完成數據的捕獲、分析、生成報告及環境的重現。The Performance Cycle做過性能分析的人都知道,性能問題是一個長期的工作,不是通過一次性能優化就能夠解決所有的問題,它是一個需要循環的捕獲、分析以及解決問題。生產系統上的環境變量的改變都將影響的SQL Server的性能,所以當我們進行性能處理的時候,需要提前考慮到參數的變化所帶來的影響,而且測試環境是在可控制的環境下進行的。下圖描述了循環進行性能優化的流程圖:通過Quick Start演練,在詳細的RML工具命令下,分解每一步驟來幫助你理解RML工具是如何有效地精確找到性能問題。SetupQuick Start 假設下列操作已經發生。1、你已經安裝了RML Utilities。2、你已經創建了文件目錄c:temp,用于文件的存儲。3、你已經在SQL Server 2005或SQL Server 2008上安裝了一個實例,并可以通過Windows Authentication和SQL Server管理員權限連接到這個實例。4、你已經解壓了samples.cab, 它包含了演練中所使用的所有腳本。(* Samples.cab放在RML Utility安裝目錄下。)Quick Start 演練需要使用一個數據庫PrecisionPerformance。1、將RML安裝目錄添加到PATH環境變量中,打開RML命令提示框。使用Ostress命令執行setup.sql,創建一個名為PrecisionPerformance的數據庫。在下面的示例中,你需要為setup.sql文件中指定完整路徑,來替代被省略的部分。ostress -E -S(local) -i.setup.sql -oc:tempPPSetup 查看c:tempPPSetupsetup.out 與ostress.log文件。 當第一次執行時,這個腳本將返回一個關于刪除數據庫的錯誤信息。當然這個在預料之中,是為了證明OStress錯誤日志輸出功能。MicrosoftSQL Native ClientSQL Server無法對數據庫 PrecisionPerformance 執行 刪除,因為它不存在,或者您沒有所需的權限。現在,您已經將前期的工作準備好了,下一章我們將介紹如何通過SQLDiag采集生產環境的數據及利用跟蹤捕獲SQL Server執行的語句,執行計劃,以及其它的應用數據,并利用ReadTrace工具加載.TRC文件及轉化為RML格式文件。SQL Server 性能優化之RML Utilities:快速入門(Quick Start)(2)數據采集Capture數據采集需要捕獲生產系統上環境及SQL Server執行情況的數據,用于我們進行數據分析。1、修改SD_Detailed.xml配置文件。(如果你沒有執行過SQLDiag.exe工具,那么你必須執行它,用來解壓出XML配置文件。)Copy “C:program FilesMicrosoft SQL Server90ToolsBinnSD_Detailed.xml” ”c:program FilesMicrosoft SQL Server90ToolsBinnPPConfig.xml” 將sd_detailed.xml復制一份,并將其命名為PPConfig.xml。用記事本工具打開PPConfig.xml文件,禁用跟蹤事件采集。定位到:ProfilerCollector enabled=true,將它修改為:ProfilerCollector enabled=false。大家是否考慮這樣一個問題:我們為什么不直接用SQLDiag進行數據跟蹤?SQLDiag的sd_dtailed.xml文件不能捕獲RML Utilities所需要的所有事件,盡管它能采集到部分的跟蹤事件。2、如果我們想使用Replay的話,我們需要一個PrecisionPerformance的克隆數據庫,你可以通過SQL Server Management Studio內置功能來實現克隆操作。根據下面文章中的步驟獲取到克隆數據庫的腳本。這個腳本也適合SQL Server 2008:How to generate a script of the necessary database metadata to create a statistics-only database in SQLServer 2005: /kb/914288/en-us3、如果我們想使用Replay的話,我們還得需要備份當前的數據庫,備份操作可以通過示例下的SecureState.sql腳本來獲取,如果在你真實的項目上進行操作,請主要安全性,以免數據外泄。(備份操作因該在關閉跟蹤捕獲后進行,并盡可能消除兩者之間(源庫與備份庫)的差異,否則將影響到replay。)ostress -E -S(local) -iSecureState.sql -oc:tempPPSecure4、啟動我們的配置,利用SQLDiag.exe進行數據采集。(跟蹤數據的采集將在接下來執行)PPConfig.xml文件將會收集計算機與SQL Server 配置信息,并添加到性能監視計數器上。sqldiag.exe /Oc:tempPPSecure /IPPConfig.xml注意:請等待直道看見”collection started ”信息后繼續運行。你可以查看c:tempPPSecure目錄下新增的文件。他們包含SQL Server 錯誤信息,MSINFO32及其它配置信息。主要文件如下:sp_sqldiag_shutdown.outMSINFO32.TXTMSINFO數據收集需要花費幾分鐘時間。注意:通過SQLDiag.exe收集的數據不需要使用RML Utilities的功能。不過捕獲當前機器的狀態的時刻點,所搜集到的數據非常重要,當我們進行測試時,它能確保replay與測試環境具有相同配置的依據。5、在當前運行的SQL Server上啟動一個SQL Server跟蹤來捕獲事件。在SQL Server Management Studio打開一個查詢窗體,并加載TraceCaptureDef.sql腳本文件。注意:這個窗體請保留,直到你完成了Quick Start所有演練。在這個腳本中,請修改字符串“InsertFileNameHere”為“c:tempPrecisionPerformancesp_trace”。注意:請不要添加.trc后綴。系統將自動創建一個名為sp_trace.trc的跟蹤文件。執行這個腳本,并保存TraceID,當跟蹤數據完成后,用于停止跟蹤。注意:我們所跟蹤到數據sp_trace.trc,將被用于RML Utilities進行數據分析。6、我們需求模擬用戶請求,并在當前的數據庫上執行,下面的命令是打開兩個數據庫鏈接,每個鏈接執行文件中的查詢語句1000次。ostress -E -S(local) -iWorkload.sql -oc:tempPPWorkload -q -n2 -r10007、一旦模擬操作結束后,立即停止跟蹤與SQLDiag采集。(1)、使用CTRL + C 停止SQLDiag工具。(2)、當跟蹤被啟動時,通過sp_trace_setstatus命令執行T-SQL語句來停止跟蹤。當前,我們已經采集了可供分析的數據,接下來,我將利用RML Utilities的工具進行數據分析,并以圖形化的方式進行展現。SQL Server 性能優化之RML Utilities:快速入門(Quick Start)(3)數據分析Analyze我們將根據跟蹤到的數據進行分析,利用Reporter工具以圖表的形式展現出來。捕獲到的TRC數據文件能夠被ReadTrace工具所讀取,并轉化成.RML格式數據,供replay工具使用。1、執行下面命令,處理加載跟蹤采集數據到數據庫PPProd中。ReadTrace -Ic:tempPrecisionPerformancesp_trace.trc -oc:tempPPBreakout-S(local) -dPPProd系統自動分析sp_trace.trc數據,并創建一個PPProd數據庫存放分析后的數據,將轉化的RML格式數據文件存放到PPBreakout目錄下。2、ReadTrace工具處理完跟蹤數據后,將自動啟動Reporter工具,方便你對數據進行分析。你也可以使用SQLNexus加載跟蹤采集數據和其它由SQLDiag采集到的其它信息。SQLNexus提供了附加報表功能,支持可擴展數據采集。當數據被加載到PPProd數據庫后,Performance Overview報表將自動生成。執行下列操作,理解Reporter所提供的報表數據。當你執行下列動作,展現新的選項卡時,可以執行不同的操作返回到主選項卡上。(1)、點擊Show/Hide按鈕,注意操作后數據的變化。(2)、點擊Application Name,找出占用CPU最多的應用程序。(3)、點擊Parameters,彈

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論