教你啟用WCF性能計(jì)數(shù)器
WCF經(jīng)過(guò)長(zhǎng)時(shí)間的發(fā)展,它的功能也在逐步的強(qiáng)大,Windows Communication Foundation (WCF) 包含一個(gè)大型性能計(jì)數(shù)器集合,可幫助您衡量應(yīng)用程序的性能。這里我發(fā)表一下個(gè)人理解,和大家討論討論。
#T#隨著時(shí)代的發(fā)展,Microsoft推出的WCF被我們?cè)絹?lái)越多的人使用,我們就WCF性能分析一下,設(shè)計(jì)、構(gòu)建、維護(hù)和版本控制分布式應(yīng)用時(shí)一個(gè)復(fù)雜的任務(wù)。安全性、可靠性、事務(wù)性和伸縮性的因素和任務(wù)變得更加復(fù)雜。因?yàn)閱?wèn)題的復(fù)雜性,所以WCF被設(shè)計(jì)來(lái)解決這些問(wèn)題,WCF是相當(dāng)復(fù)雜的技術(shù)。為了能看清WCF性能,我把主要的功能分為10個(gè)類別:獨(dú)立版本控制、異步只進(jìn)消息、平臺(tái)統(tǒng)一、安全性、可靠性、事務(wù)支持、互操作性、性能、擴(kuò)展性和配置性。
啟用WCF性能計(jì)數(shù)器
您可以通過(guò) WCF 服務(wù)的 app.config 配置文件啟用WCF性能計(jì)數(shù)器,如下所示:
- <configuration>
- <system.serviceModel>
- <diagnostics performanceCounters="All" />
- < SPAN>system.serviceModel>
- < SPAN>configuration>
可以將 performanceCounters 屬性設(shè)置為啟用特定類型的性能計(jì)數(shù)器。有效值為
◆All:?jiǎn)⒂盟蓄悇e計(jì)數(shù)器(ServiceModelService、ServiceModelEndpoint 和 ServiceModelOperation)。
◆ServiceOnly:僅啟用 ServiceModelService 類別計(jì)數(shù)器。
◆Off:禁用 ServiceModel
◆性能計(jì)數(shù)器。這是默認(rèn)值。
如果要啟用所有WCF性能計(jì)數(shù)器,則可以將配置設(shè)置放置到 Machine.config 文件中。有關(guān)在計(jì)算機(jī)上為性能計(jì)數(shù)器配置足夠內(nèi)存的更多信息,請(qǐng)參見(jiàn)“增加性能計(jì)數(shù)器的內(nèi)存大小”(可能為英文網(wǎng)頁(yè))一節(jié)。還可以在代碼中啟用性能計(jì)數(shù)器,如下所示:
- using System.Configuration;
- using System.ServiceModel.Configuration;
- using System.ServiceModel.Diagnostics;
- Configuration config = ConfigurationManager.OpenExeConfiguration(
- ConfigurationUserLevel.None);
- ServiceModelSectionGroup sg = ServiceModelSectionGroup.GetSectionGroup(config);
- sg.Diagnostic.PerformanceCounters = PerformanceCounterScope.All;
- config.Save();
查看性能數(shù)據(jù)
若要查看性能計(jì)數(shù)器捕獲的數(shù)據(jù),則可以使用 Windows 附帶的性能監(jiān)視器 (Perfmon.exe)。通過(guò)轉(zhuǎn)到“開(kāi)始”,單擊“運(yùn)行”并在對(duì)話框中鍵入 perfmon.exe 以啟動(dòng)該工具。