2010-02-15 26 views
3

我正在嘗試性能測試一個wcf web服務,它應該會獲得很多流量。哪些性能計數器是明智的使用和出於哪些目的..當然,我正在查看CPU和RAM,但是我想知道IIS何時正在排隊以及何時遇到問題...隊列的Webservice wcf性能計數器

任何有關明智性能計數器的建議感激地收到...

乾杯亞歷克斯

回答

0

分析性能計數器很複雜,需要大量的練習,這是我的方式,說我沒有足夠的經驗來給出一個完整的列表。

你會尋找一些具體的事情開始。 首先是返回web服務調用需要多長時間。這告訴你,如果你在這個負載下甚至有性能問題。 接下來,每個人都看着CPU。然而,這並沒有告訴你很多。 內存很好,但是您想知道您的應用程序多久分頁到磁盤,因此請檢查頁面故障/秒。 檢查您的邏輯和物理磁盤的當前磁盤隊列長度。如果您的物理磁盤正在排隊,您正在讀取/寫入磁盤。

除此之外,你通常會試圖找到一個特定的和可能的晦澀難懂的問題。

我通常會分階段進行性能測試。使用基礎知識進行第一次測試,並且如果某個特定頁面出現問題,請查看其造成的負載。

如果整個生產服務器運行不正常,則添加更多硬件會更容易,但我更願意查看正在運行的代碼並使其更好。

0

之前您運行性能監視器,您要添加的註冊表項:

HKLM/Services/CurrentControlSet/service/ 
    Add ServiceModelService 4.0.0.0 
    under that add Performance then add a DWORD FileMappingFile. 
    The size for that will be number of services exposed * 33 * 350. 

在你的配置,那麼你會增加

<system.ServiceModel> 
    <diagnostics performanceCounters="ServiceOnly"/> 
</system.ServiceModel> 

你可以看以下計數器: CPU/RAM(用於內存泄漏)/用於每個服務呼叫和呼叫持續時間以及呼叫未完成

CPU will show you how heavily your are saturating your server 
RAM will show if you have memory leaks if it continues to grow and grow and grow 
Calls will show the number of calls you are getting accumulative, 
Calls Per Second will give you the volume you're handling 
Calls Outstanding are clients that are waiting because your services could not handle the volume. 

如果您在這些分組中發現有問題的號碼,請開始查看「呼叫故障」或「呼叫失敗」等其他元素。 (不知道故障和故障之間的區別)

很少有人需要深入研究問題,而不是僅提供服務的數字。當你進入另外兩組計數器時,你的共享內存利用率變得非常高。