新聞中心
WCF中有一種叫做性能計數(shù)器的集合,可以幫助我們實現(xiàn)一些特定功能。如果要想得到一個好的結(jié)果,我們需要對WCF性能計數(shù)器內(nèi)存急性優(yōu)化。#t#

WCF 為其性能計數(shù)器類別使用單獨的共享內(nèi)存。
默認(rèn)情況下,單獨的共享內(nèi)存被設(shè)置為全局性能計數(shù)器內(nèi)存大小的四分之一。默認(rèn)的全局性能計數(shù)器內(nèi)存大小為 524,288 字節(jié)。因此,三個 WCF 性能計數(shù)器類別默認(rèn)分別具有約 128KB 的內(nèi)存大小。根據(jù)計算機(jī)上 WCF 應(yīng)用程序的運行時特性,性能計數(shù)器內(nèi)存可能會用盡。發(fā)生這種情況時,WCF 會向應(yīng)用程序事件日志中寫入一個錯誤。
該錯誤的內(nèi)容聲明未加載性能計數(shù)器,并聲明一個包含異?!癝ystem.InvalidOperationException:可用于自定義計數(shù)器文件視圖的內(nèi)存不足?!钡捻?。如果在錯誤級別啟用了跟蹤,此故障也將被跟蹤。如果性能計數(shù)器內(nèi)存已用盡,在啟用性能計數(shù)器的情況下繼續(xù)運行您的 WCF 應(yīng)用程序可能會導(dǎo)致性能明顯下降。
如果您是計算機(jī)管理員,則應(yīng)對計算機(jī)進(jìn)行配置,以便分配足夠的WCF性能計數(shù)器內(nèi)存來支持隨時可能存在的最大數(shù)量的性能計數(shù)器。有關(guān)更多信息,請參見 performanceCounters(可能為英文網(wǎng)頁)。
可以在注冊表中更改 WCF 類別的性能計數(shù)器的內(nèi)存量。為此,需要向以下三個位置添加名為 FileMappingSize 的新 DWORD 值,并將它設(shè)為所需的值(以字節(jié)為單位)。重新啟動您的計算機(jī)以使這些更改生效。
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)等待進(jìn)行垃圾回收時,PrivateBytes 性能計數(shù)器將記錄一個非常大的數(shù)字。若要解決WCF性能計數(shù)器內(nèi)存問題,可以添加特定于自己的應(yīng)用程序的計數(shù)器,或使用 performanceCounters 屬性僅啟用服務(wù)級別計數(shù)器。
當(dāng)前題目:WCF性能計數(shù)器內(nèi)存優(yōu)化方式解析
URL網(wǎng)址:http://fisionsoft.com.cn/article/codejjp.html


咨詢
建站咨詢
