高性能ASP.NET站點(diǎn)構(gòu)建之監(jiān)測CLR性能
高性能ASP.NET站點(diǎn)構(gòu)建系列文章目錄
- 高性能ASP.NET站點(diǎn)構(gòu)建之開篇
- 高性能ASP.NET站點(diǎn)構(gòu)建之剖析頁面的處理過程
- 高性能ASP.NET站點(diǎn)構(gòu)建之優(yōu)化HTTP請(qǐng)求
- 高性能ASP.NET站點(diǎn)構(gòu)建之細(xì)節(jié)決定成敗
- 高性能ASP.NET站點(diǎn)構(gòu)建之性能調(diào)優(yōu)綜述
- 高性能ASP.NET站點(diǎn)構(gòu)建之識(shí)別性能瓶頸
- 高性能ASP.NET站點(diǎn)構(gòu)建之簡單的優(yōu)化措施
- ASP.NET站點(diǎn)構(gòu)建之減少不必要的請(qǐng)求
- 高性能ASP.NET站點(diǎn)構(gòu)建之托管資源優(yōu)化
- 高性能ASP.NET站點(diǎn)構(gòu)建之監(jiān)測CLR性能
CLR計(jì)數(shù)器的使用
我們使用系統(tǒng)自帶的性能監(jiān)測工具來跟蹤和監(jiān)測垃圾回收器。下面,首先介紹幾個(gè)常用的CLR性能監(jiān)測計(jì)數(shù)器,我們一般查看.NET CLR Memory分類下的計(jì)數(shù)器:
Percent Time in GC |
表明了從上次垃圾回收機(jī)制運(yùn)行之后到現(xiàn)在這段時(shí)間內(nèi),運(yùn)行垃圾回收機(jī)制所花的時(shí)間占總時(shí)間的百分比。不要超過10%。 |
Gen 0 heap size |
這個(gè)數(shù)值不是表明當(dāng)前托管堆中Gen 0對(duì)象所占的大小,而是指:還可以分配的Gen 0對(duì)象的大小 |
Gen 1 heap size |
表明當(dāng)前Gen 1 對(duì)象所占的托管堆的空間大小 |
Gen 2 heap size |
表明當(dāng)前Gen 2 對(duì)象所占的托管堆的空間大小 |
Large Object Heap size |
當(dāng)前LOH的大小 |
# Byte in all Heaps |
是上面Gen 0 heap size,Gen 1 heap size,Gen 2 heap size,Large Object Heap size所有的種和,也就是整個(gè)托管堆所占的空間大小 |
# Gen 0 Collections |
從系統(tǒng)開啟之后到現(xiàn)在,垃圾回收器回收Gen 0對(duì)象的次數(shù) |
# Gen 1 Collections |
從系統(tǒng)開啟之后到現(xiàn)在,垃圾回收器回收Gen 1對(duì)象的次數(shù) |
# Gen 2 Collections |
從系統(tǒng)開啟之后到現(xiàn)在,垃圾回收器回收Gen 2對(duì)象的次數(shù) |
介紹完上面的一些計(jì)數(shù)器之后,大家可以運(yùn)行”perfmon”命令,打開性能監(jiān)測工具。
下面開始介紹CLR Profiler(CLR 透析器)
CLR Profiler
CLR Profiler是微軟開發(fā)的一個(gè)工具,這個(gè)工具可以用來檢測CLR所占用的內(nèi)存詳情。
大家可以去下面的鏈接去下載這個(gè)工具:
http://www.microsoft.com/downloads/details.aspx?familyid=a362781c-3870-43be-8926-862b40aa0cd0&displaylang=en
下面的鏈接詳細(xì)的講述這個(gè)工具的用法:
http://msdn.microsoft.com/zh-cn/magazine/ee309515.aspx#MtViewDropDownText
在這里,只是簡單的介紹一下如何使用,至于詳細(xì)的操作,還請(qǐng)大家去查看上面給出的鏈接。使用的步驟如下:
1. 運(yùn)行CLR Proflie
2. 確保”Profiling active, Allocations, Calls”都勾選上。如下:
3. 選擇”File->Profile ASP.NET”.這個(gè)操作的背后會(huì)停止IIS的運(yùn)行,然后插入一些指令,然后重啟IIS,所以這個(gè)工具在生產(chǎn)環(huán)境中慎用。
4. 然后我們可以在VS中F5運(yùn)行我們的網(wǎng)站(確保在創(chuàng)建網(wǎng)站的時(shí)候是以IIS方式來建立站點(diǎn)的,而不是選擇”文件系統(tǒng)”的方式建立)
5. 在界面上面點(diǎn)擊”Kill ASP.NET”.這個(gè)操作的背后會(huì)移除之前加入到IIS中的一些監(jiān)視指令。點(diǎn)擊按鈕之后,會(huì)出現(xiàn)一些界面。這個(gè)界面上面顯示了Gen0, Gen1 Gen2 ,LOH所占的大小,如下:
6. 我們還可以點(diǎn)擊”Histogram”按鈕。這個(gè)界面展示了不同大小以及不同類型的對(duì)象所占的比例。下面對(duì)看出,系統(tǒng)中有很多的string對(duì)象,也就說,系統(tǒng)中的string類型的對(duì)象占據(jù)了系統(tǒng)大部分的內(nèi)存空間。
原文鏈接:http://www.cnblogs.com/yanyangtian/archive/2011/02/21/1959462.html
【編輯推薦】