2010-11-10 38 views
0

我在使用net.tcp綁定託管在IIS中的WCF服務中存在性能問題。在IIS中使用tcp綁定和多個端口在一個站點中託管WCF服務

我們最近將我們的系統從COM +移植到WCF,測試表明性能下降。我一直在看服務器上的性能計數器和CPU利用率非常低(< 10%),有足夠的可用內存,磁盤讀取正常等...我也檢查了WCF性能計數器和未完成數通話量很低(在任何給定時間最多1次),每秒通話次數非常低(對於系統使用最多的服務,每秒通話次數爲16次)。我們所有的服務配置爲每個呼叫和單線程...

我已經玩過節流,並將所有設置的所有值設置爲100(服務器是8核心機器,我的理解是實際節流值最終是你設置的乘以CPU的數量)。我認爲那裏沒有問題。

我也確信,客戶能有效地使用的連接(不建立新的那裏是可以使用現有的TCP連接)

當前Web應用程序承載約50個服務(是的,這是50!),目前我正試圖消除這個問題的根源。我正在尋找在多個Web應用程序中託管服務,我也希望讓他們使用不同的端口,但我遇到了一些問題,我無法在任何地方在互聯網上找到一步一步的指示,所以我希望有人在這裏將能夠幫助我:)

這裏是我試過到目前爲止做:
1)我又增加了綁定到默認的IIS Web站點(即我有兩個網。 tcp綁定,其中一個設置爲使用「808:*」綁定信息,另一個使用「809:*」) 2)我確定這些端口被允許通過防火牆
3)我試圖配置每個Web應用程序來過濾端口(這是從web.config中nippet其中我想使用端口808):

<serviceHostingEnvironment>
<baseAddressPrefixFilters>
<附加前綴= 「//的net.tcp <服務器名>:808」/ >
</baseAddressPrefixFilters >
</serviceHostingEnvironment >

當我嘗試連接到這個服務,我得到一個在端點地址的服務「的net.tcp:// <服務器名> /SomeService.svc」是地址的協議無法

如果我刪除了< serviceHostingEnvironmentgt;位。我在這裏做錯了什麼?

其他服務,例如我希望在端口809上可用的服務根本不可用,我得到的錯誤消息告訴我端點不存在,它看起來像IIS不在該端口上偵聽在所有。正如前面提到的,防火牆絕對允許這個端口通過。

任何想法或建議什麼最好的設置時,有這麼多的服務託管將是非常感激!

謝謝!

回答

1

這是舊帖子 - 但是... 關於端點錯誤 - 嘗試在應用程序上設置網絡綁定信息,而不是在網站級別。

相關問題