性能監(jiān)視器使用(SQLServer 2008)_第1頁
性能監(jiān)視器使用(SQLServer 2008)_第2頁
性能監(jiān)視器使用(SQLServer 2008)_第3頁
性能監(jiān)視器使用(SQLServer 2008)_第4頁
性能監(jiān)視器使用(SQLServer 2008)_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、LR11如何啟動系統(tǒng)監(jiān)視器 (Windows)SQL Server 2008 R2使用系統(tǒng)監(jiān)視器可以監(jiān)視系統(tǒng)資源的使用率。使用計數(shù)器形式收集和查看服務器資源(如處理器和內(nèi)存使用)和許多 Microsoft SQL Server 資源(如鎖和事務)的實時性能數(shù)據(jù)。在 Windows 中啟動系統(tǒng)監(jiān)視器在“開始”菜單上,指向“運行”,在“運行”對話框中鍵入perfmon,然后單擊“確定”。對SQLSERVER進行性能監(jiān)控對SQLSERVER進行性能監(jiān)控在上一篇文章SQLSERVER性能監(jiān)控級別步驟里說到性能監(jiān)控的步驟中有一步涉及到建立性能基線,但是沒有說到有哪些計數(shù)器可以用來進行監(jiān)控的,這篇文章結(jié)合

2、企業(yè)級平臺管理實踐的書本說一下監(jiān)控SQLSERVER有哪些計數(shù)器可以用到的3、建立性能基線當確定了性能監(jiān)控中所涉及的資源、負載和目標后,開始進行監(jiān)控,并建立性能基線與當前服務器性能進行比較。性能基線是一個保證系統(tǒng)正常操作性能范圍值,達到或超過這個范圍,系統(tǒng)性能可能會顯著下降。應該對接近或超過性能基線的數(shù)字做進一步調(diào)查找出原因監(jiān)控的周期是一段時間,而不是一兩天。其中應該包括數(shù)據(jù)庫活動的峰值時間和非峰值時間,數(shù)據(jù)查詢和批處理命令的響應時間、數(shù)據(jù)庫備份和還原所需時間建立服務器性能基線后,將基線統(tǒng)計與當前服務器性能進行比較。對高于或遠低于基線的數(shù)字需要做進一步調(diào)查。他們可能表明有需要調(diào)整或重新配置的區(qū)

3、域。例如,執(zhí)行一組查詢的時間增加,檢查這些查詢以確定能否重新編寫他們,或者是否添加統(tǒng)計信息或索引介紹:性能監(jiān)視器 Performance Monitor性能監(jiān)視器是Windows的一個工具,在系統(tǒng)管理工具組里。默認里面就有很多Windows層面的性能計數(shù)器,可以監(jiān)視系統(tǒng)的運行。直接運行perfmon,也可以打開他。這里以 WindowsXP/2003/2008的性能監(jiān)視器為例。Windows2008R2和Windows7的性能監(jiān)視器界面有了比較大的變化,功能也有擴展,更加好用。同時也完全向前兼容。后面談到的功能都有包括SQLSERVER自己開發(fā)了一些擴展的性能計數(shù)器。在安裝SQLSERVER的

4、時候,會注冊到Windows里。這樣, Windows的性能監(jiān)視器就能看到一些以“SQL”打頭的計數(shù)器了。SQLSERVER在運行時,會統(tǒng)計這些計數(shù)器的值。在性能監(jiān)視器里能夠看到:默認性能監(jiān)視器是用來實時檢測系統(tǒng)的,在窗口里,用不同顏色的線條表示不同的計數(shù)器值。當窗口畫滿以后,會從頭覆蓋前面的內(nèi)容。所以默認只能看到最近一小段時間的值。但是在現(xiàn)實的問題分析中,實時監(jiān)測還是比較少的。更常見的場景是需要在問題發(fā)生之前,就要開啟性能計數(shù)器的收集,收集一段時間之后,或者問題重現(xiàn)之后,再離線地分析問題的現(xiàn)象和原因。那么日志怎樣收集呢?通常可以使用下面這些步驟:(1)在性能監(jiān)視器左邊的窗口,展開性能 日志和

5、警告子樹,點擊“計數(shù)器日志” 在右邊的窗口里,右鍵點擊,選擇“新 日志設置”,他會彈出一個對話框,讓你為新的日志記錄配置命名。這里我們?nèi)∶麨門est,日志默認保存路徑是%systemdrive%PerfLogsAdminTest(2)在接著彈出的對話框里,就可以配置DBA要搜集的信息要求了。首先要選擇搜集哪些計數(shù)器,以及他們的取樣時間間隔sample data every,默認是15秒取一次,這個間隔能夠滿足大部分需求。有說法講在搜集和磁盤相關的性能日志時,間隔要設置短一點,最好是3到5秒。如果設置30秒以上,可能信息就不完整了。所以15秒是大部分情況下比較好的選擇(3)選擇添加對象,就可以選

6、擇要收集的性能監(jiān)視器對象。對于非在線分析,問題可能還不清楚,很難確定哪些性能計數(shù)器有用,哪些沒有用。所以在這里,一定要多選一些。一般的SQL問題,可以選擇下面這些對象在memory,process,physicaldisk,processor,system對象下的所有計數(shù)器,以及他們的所有instance所有以SQLSERVER:開頭的性能監(jiān)視對象如果要監(jiān)視CPU類問題,最好還包含thread下面的所有計數(shù)器,以及他所有的instance有些DBA會擔心,抓這麼多計數(shù)器會不會影響性能。應該說根據(jù)經(jīng)驗,性能監(jiān)視器對系統(tǒng)整體性能的影響幾乎感覺不到。所以可以比較放心大膽地多收一些計數(shù)器?;竟ぷ髟?/p>

7、是在.NET編譯出的IL代碼里放入鉤子用來記錄時間,然后通過直觀的界面顯示出哪部分代碼耗能最大。只是間隔可能還是選15秒比較安全(4)設置文件的位置和最大大小 ,另一個重要配置,是日志文件存放在哪里,保存格式,以及最大大小。日志文件的后綴是blg的二進制文件,需要使用性能監(jiān)視器才能打開這個文件如果性能日志文件大小超過1GB,可能有些機器打開會很慢。所以一定要注意其最大值可以設為200MB。如果一個200MB的文件寫滿,性能監(jiān)視器會自動創(chuàng)建一個新的。文件格式可以選二進制文件日志搜集當然可以手動開始和終止。但是如果問題會發(fā)生在半夜,最好能讓系統(tǒng)自動開啟,自動關閉。性能監(jiān)視器也可以幫DBA做到這一點

8、當?shù)玫揭粋€性能日志后,可以在性能監(jiān)視器里選擇 查看 日志 數(shù)據(jù)在數(shù)據(jù)源里添加日志文件然后點擊數(shù)據(jù)選項卡,就能看到在原來那臺服務器上收集的性能計數(shù)器了這時候再點擊“源”選項卡,能看見性能日志文件所包含的那段時間。拉動滾動條,可以把時間段縮短到DBA最關心的那段時間對收集到的日志,DBA可以進行分析一些性能監(jiān)視器計數(shù)器相關計數(shù)器性能對象 計數(shù)器SQLSERVER:BUFFER MANAGER: buffer cache hit ratio,lazy writes/sec ,procedure cache pages,total pagesSQLSERVER:Cache Manager: cache

9、 hit ratio,cache object counts,cache pages ,cache use counts/secSQLSERVER:MEMORY MANAGER: sql cache memory(kb)SQLSERVER:SQL STATISTICS: auto-param attmpts/sec,batch request/sec,failed auto-params/sec,safe autoparam/sec, sql compilations/sec,sql re-compilations/sec,unsafe auto-params/sec與內(nèi)存有關的計數(shù)器Wind

10、ows與SQLSERVER系統(tǒng)使用內(nèi)存情況和合理配置SQLSERVER內(nèi)存性能監(jiān)視器 perfmon -添加-可用計數(shù)器-Memory-添加available MBytes和pages/sec數(shù)據(jù)收集器集-用戶定義-新建-數(shù)據(jù)收集器集-名稱:SQLSERVER內(nèi)存使用-手動創(chuàng)建-性能計數(shù)器- 添加下面的性能計數(shù)器-時間間隔15秒-保存路徑:C:UsersAdministratorDesktopSQLSERVER內(nèi)存使用- 保存并關閉-選中剛才創(chuàng)建的數(shù)據(jù)收集器-啟動-變成datacollector01 -在用戶定義下面 SQLSERVER內(nèi)存使用 右鍵-停止或者在空白的地方-右鍵-停止可以右鍵-

11、在用戶定義下面 SQLSERVER內(nèi)存使用-屬性-更改數(shù)據(jù)收集器保存路徑計數(shù)器committed bytes:整個Windows系統(tǒng),包括Windows自身以及所有用戶進程使用的內(nèi)存總數(shù)commit limit:整個Windows系統(tǒng)能夠申請的最大內(nèi)存數(shù),其值等于物理內(nèi)存加上文件緩存大小available MBytes(重要):現(xiàn)在系統(tǒng)空閑的物理內(nèi)存數(shù)。這個指標能夠直接反映出Windows層面上有沒有內(nèi)存壓力跑在Windows2000上會把空閑內(nèi)存用完知道剩下4MB10MB。跑在Windows2003或以上就會留給Windows多一點的物理內(nèi)存page file :%usage page fi

12、le:% peak usage :反應緩存文件使用量的多少,使用越多緩存,性能越差pages /sec:每秒鐘需要從磁盤上讀取或?qū)懭氲捻撁鏀?shù)目soft page fault一般不會帶來性能影響,因此一般不太關心一個良好的系統(tǒng),他要處理的數(shù)據(jù)應該比較長期地保存在物理內(nèi)存里。如果頻繁換頁/換入換出勢必影響性能,pages/sec不能長時間保持在一個比較高的值對于一臺SQL服務器,如果available MBytes長期小于10MB,說明物理內(nèi)存不太夠pages/sec 物理內(nèi)存不足也會做成頻繁換頁/換入換出 pages/sec不能長時間保持在一個比較高的值Windows系統(tǒng)自身內(nèi)存使用情況一個32

13、位Windows系統(tǒng),正常內(nèi)存使用大概幾百MB -64位Windows系統(tǒng)大概1GB2GB-如果發(fā)生內(nèi)存泄漏(一般由硬件驅(qū)動造成),Windows會用到幾個GB甚至十幾GB,反過來擠壓應用的內(nèi)存memory :cache bytes -系統(tǒng)的working set,也就是系統(tǒng)使用的物理內(nèi)存數(shù)目,包括高速緩存,頁交換區(qū),可調(diào)頁的ntoskrnl.exe 和驅(qū)動程序代碼,以及系統(tǒng)映射視圖cache bytes計數(shù)器是下面幾個計數(shù)器的和:system cache resident bytes,system driver resident bytes ,system code resident byt

14、es ,pool paged resident bytessystem cache resident bytes:系統(tǒng)高速緩存消耗的物理內(nèi)存。高速緩存的主要功能是提高文件讀寫的速度pool paged resident bytes:頁交互區(qū)消耗的物理內(nèi)存system driver resident bytes:可調(diào)頁的設備驅(qū)動程序代碼消耗的物理內(nèi)存system code resident bytes:ntoskrnl.exe中可調(diào)頁代碼消耗的內(nèi)存system pool 內(nèi)存池 如果兩個重要的內(nèi)存池內(nèi)存出現(xiàn)泄漏,或者空間用盡,Windows會出現(xiàn)奇怪不正常的行為, 進而影響SQL穩(wěn)定運行。所以需

15、要檢查這兩個內(nèi)存池pool nonpaged bytes 非換頁內(nèi)存池pool paged resident bytes 換頁內(nèi)存池單個process使用情況常見場景:available MBytes看出服務器的內(nèi)存基本用盡,但是從cache bytes看Windows自己沒有使用多少?,F(xiàn)在要開始分析應用程序的內(nèi)存使用了在選擇對象的實例里面要每個進程都要添加進計數(shù)器里面,不要選擇_Total SQL的進程是sqlservr%processor time:是目標進程消耗的CPU資源數(shù),包括用戶態(tài)和核心態(tài)的時間page faults/sec:是目標進程上發(fā)生的page faults的數(shù)目handl

16、e count:目標進程handle(指向object指針)數(shù)目句柄數(shù)。如果進程內(nèi)部有對象老是創(chuàng)建,不及時回收,就會發(fā)生handle leakthread count:目標進程的線程數(shù)目。如果進程老是創(chuàng)建新線程,不釋放老線程,就會發(fā)生thread leakpool paged bytes:是目標進程所使用的paged pool大小pool nonpaged bytes:是目標進程所使用的non-paged pool大小working set:某個進程的地址空間,存放在物理內(nèi)存的那一部分virtual bytes:某個進程所申請的虛擬地址空間大小,包括reserved memory 和committed memoryprivate bytes:某個進程提交了的地址空間commited memory中,非共享部分假設有processA 和processB,他們的虛擬地址空間都分成兩部分,核心態(tài)和用戶態(tài) -核心態(tài)是由Windows控制,所有進程共享。processA -committed memory :1

溫馨提示

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

評論

0/150

提交評論