自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

WCF性能計數(shù)器應(yīng)用特點介紹

開發(fā) 開發(fā)工具
WCF性能計數(shù)器的啟用,以及應(yīng)用方法都將會在這篇文章中進行詳細介紹。希望大家可以通過本文介紹的內(nèi)容充分掌握這一應(yīng)用技巧。

WCF開發(fā)工具功能強大,其中包含有許多功能特點,值得我們?nèi)ド钊胙芯?。其中就包括我們今天為大家介紹的WCF性能計數(shù)器。在這篇文章中,大家將會通過各種示例來詳細了解一下WCF性能計數(shù)器的應(yīng)用方式。

啟用WCF性能計數(shù)器

您可以通過 WCF 服務(wù)的 app.config 配置文件啟用 WCF 服務(wù)的性能計數(shù)器,如下所示:

  1. < configuration> 
  2. < system.serviceModel> 
  3. < diagnostics performanceCounters="All" /> 
  4. < /system.serviceModel> 
  5. < /configuration> 

可以將 performanceCounters 屬性設(shè)置為啟用特定類型的性能計數(shù)器。有效值為

All:啟用所有類別計數(shù)器(ServiceModelService、ServiceModelEndpoint 和 ServiceModelOperation)。

ServiceOnly:僅啟用 ServiceModelService 類別計數(shù)器。

Off:禁用 ServiceModel* 性能計數(shù)器。這是默認值。

如果要啟用所有 WCF 應(yīng)用程序的性能計數(shù)器,則可以將配置設(shè)置放置到 Machine.config 文件中。有關(guān)在計算機上為性能計數(shù)器配置足夠內(nèi)存的更多信息,請參見“增加性能計數(shù)器的內(nèi)存大小”(可能為英文網(wǎng)頁)一節(jié)。

還可以在代碼中啟用WCF性能計數(shù)器,如下所示:

  1. using System.Configuration;  
  2. using System.ServiceModel.Configuration;  
  3. using System.ServiceModel.Diagnostics;  
  4. Configuration config = ConfigurationManager.OpenExeConfiguration(  
  5. ConfigurationUserLevel.None);  
  6. ServiceModelSectionGroup sg = ServiceModelSectionGroup.
    GetSectionGroup(config);  
  7. sg.Diagnostic.PerformanceCounters = PerformanceCounterScope.All;  
  8. config.Save(); 

查看性能數(shù)據(jù)#t#

若要查看性能計數(shù)器捕獲的數(shù)據(jù),則可以使用 Windows 附帶的性能監(jiān)視器 (Perfmon.exe)。通過轉(zhuǎn)到“開始”,單擊“運行”并在對話框中鍵入 perfmon.exe 以啟動該工具。

注意:

WCF性能計數(shù)器實例可能會在終結(jié)點調(diào)度程序處理最后一條消息之前被釋放。這可能導(dǎo)致不能為某些消息捕獲性能數(shù)據(jù)。

 

增加性能計數(shù)器的內(nèi)存大小

WCF 為其性能計數(shù)器類別使用單獨的共享內(nèi)存。

默認情況下,單獨的共享內(nèi)存被設(shè)置為全局性能計數(shù)器內(nèi)存大小的四分之一。默認的全局性能計數(shù)器內(nèi)存大小為 524,288 字節(jié)。因此,三個 WCF 性能計數(shù)器類別默認分別具有約 128KB 的內(nèi)存大小。根據(jù)計算機上 WCF 應(yīng)用程序的運行時特性,性能計數(shù)器內(nèi)存可能會用盡。發(fā)生這種情況時,WCF 會向應(yīng)用程序事件日志中寫入一個錯誤。該錯誤的內(nèi)容聲明未加載性能計數(shù)器,并聲明一個包含異常“System.InvalidOperationException:可用于自定義計數(shù)器文件視圖的內(nèi)存不足。”的項。如果在錯誤級別啟用了跟蹤,此故障也將被跟蹤。如果性能計數(shù)器內(nèi)存已用盡,在啟用性能計數(shù)器的情況下繼續(xù)運行您的 WCF 應(yīng)用程序可能會導(dǎo)致性能明顯下降。如果您是計算機管理員,則應(yīng)對計算機進行配置,以便分配足夠的內(nèi)存來支持隨時可能存在的最大數(shù)量的性能計數(shù)器。有關(guān)更多信息,請參見 performanceCounters(可能為英文網(wǎng)頁)。

可以在注冊表中更改 WCF 類別的性能計數(shù)器的內(nèi)存量。為此,需要向以下三個位置添加名為 FileMappingSize 的新 DWORD 值,并將它設(shè)為所需的值(以字節(jié)為單位)。重新啟動您的計算機以使這些更改生效。

HKLM\System\CurrentControlSet\Services\ServiceModelEndpoint 3.0.0.0\Performance

HKLM\System\CurrentControlSet\Services\ServiceModelOperation 3.0.0.0\Performance

HKLM\System\CurrentControlSet\Services\ServiceModelService 3.0.0.0\Performance

當(dāng)釋放的大量對象(例如 ServiceHost)等待進行垃圾回收時,PrivateBytes 性能計數(shù)器將記錄一個非常大的數(shù)字。若要解決此問題,可以添加特定于自己的應(yīng)用程序的計數(shù)器,或使用 performanceCounters 屬性僅啟用服務(wù)級別計數(shù)器。

WCF性能計數(shù)器的類型

性能計數(shù)器可分為三個不同級別:服務(wù)、終結(jié)點和操作。

可以使用 WMI 檢索性能計數(shù)器實例的名稱。例如,

通過 WMI Service實例的“CounterInstanceName”屬性可獲得服務(wù)計數(shù)器實例的名稱。

通過 WMI 終結(jié)點實例的“CounterInstanceName”屬性可獲得終結(jié)點計數(shù)器實例的名稱。

通過 WMI 終結(jié)點實例的“GetOperationCounterInstanceName”方法可獲得操作計數(shù)器實例的名稱。

有關(guān) WMI 的更多信息,請參見使用 Windows Management Instrumentation 進行診斷。

服務(wù)WCF性能計數(shù)器

服務(wù)性能計數(shù)器將服務(wù)行為作為整體來進行衡量,可用于診斷服務(wù)整體性能。如果使用性能監(jiān)視器查看,可以在 ServiceModelService 3.0.0.0 性能對象下找到服務(wù)性能計數(shù)器。使用以下模式命名計數(shù)器實例:

ServiceName@ServiceBaseAddress服務(wù)范圍內(nèi)的計數(shù)器是從終結(jié)點集合中的計數(shù)器聚合來的。

創(chuàng)建新的 InstanceContext 時,用于創(chuàng)建服務(wù)實例的性能計數(shù)器將遞增。請注意,即使在(通過現(xiàn)有服務(wù))收到非激活消息時,或在從一個會話連接到實例、結(jié)束會話然后從其他會話重新進行連接時,也將創(chuàng)建新的 InstanceContext。

終結(jié)點性能計數(shù)器使用終結(jié)點性能計數(shù)器可以查看反映終結(jié)點如何接受消息的數(shù)據(jù)。使用性能監(jiān)視器查看時,可在 ServiceModelEndpoint 3.0.0.0 性能對象下找到終結(jié)點性能計數(shù)器。使用以下模式命名計數(shù)器實例:

(ServiceName).(ContractName)@(endpoint listener address)數(shù)據(jù)與為單個操作收集的數(shù)據(jù)類似,但它只在終結(jié)點之間聚合。

終結(jié)點范圍內(nèi)的計數(shù)器是從操作集合中的計數(shù)器聚合來的。

注意:

如果兩個終結(jié)點具有相同的協(xié)定名稱和地址,它們將映射到同一個計數(shù)器實例中。

 

操作WCF性能計數(shù)器

如果使用性能監(jiān)視器查看,可以在 ServiceModelOperation 3.0.0.0 性能對象下找到操作性能計數(shù)器。每個操作都有一個單獨的實例。也就是說,如果給定的協(xié)定具有 10 個操作,則有 10 個操作計數(shù)器實例與該協(xié)定相關(guān)聯(lián)。對象實例按下面的模式命名:

(ServiceName).(ContractName).(OperationName)@(first endpoint listener address)使用此計數(shù)器可以衡量調(diào)用的使用方式以及操作的執(zhí)行情況。

當(dāng)計數(shù)器在多個范圍內(nèi)可見時,從范圍的較高一級收集到的數(shù)據(jù)會與從范圍的較低一級收集到的數(shù)據(jù)相聚合。例如,終結(jié)點處的 Calls 表示終結(jié)點內(nèi)所有操作調(diào)用的總和;服務(wù)處的 Calls 表示對服務(wù)內(nèi)所有終結(jié)點的所有調(diào)用的總和。

注意:

如果一個協(xié)定上有兩個操作名稱,則只能為這兩個操作獲取一個計數(shù)器實例。

責(zé)任編輯:曹凱 來源: 博客園
相關(guān)推薦

2009-11-06 16:59:26

WCF性能計數(shù)器

2009-12-22 13:16:53

WCF性能計數(shù)器

2009-12-22 13:25:58

WCF性能計數(shù)器內(nèi)存

2009-12-22 13:34:07

WCF性能計數(shù)器級別

2009-11-06 17:10:34

WCF服務(wù)性能計數(shù)器

2009-12-21 17:40:25

WCF會話

2010-02-23 09:51:32

WCF MTOM

2010-02-23 09:34:15

WCF重載

2009-10-29 11:47:15

ADO.NET計數(shù)器b

2010-01-18 11:03:17

VB.NET網(wǎng)頁計數(shù)器

2010-11-30 13:43:07

SQL備份

2023-08-08 08:01:22

微服務(wù)架構(gòu)服務(wù)

2010-07-16 14:37:53

SQL Server

2009-12-22 17:30:47

WCF Address

2010-02-23 13:46:37

WCF數(shù)據(jù)契約

2010-02-24 14:20:27

WCF并發(fā)模型

2010-03-02 18:16:45

WCF可靠性傳輸

2009-04-15 10:33:35

SQL Server 性能計數(shù)器錯誤

2023-07-28 08:15:27

PC程序計數(shù)器

2024-02-07 12:32:00

重構(gòu)技巧PythonCounter
點贊
收藏

51CTO技術(shù)棧公眾號