2011-10-24 122 views
2

我有一個設計,我們有一個WCF服務訪問被另一個WCF服務表示的數據存儲。其背後的想法是堅持SOA,並有可能通過實際服務和數據訪問層實現負載平衡,並使數據存儲能夠大規模地變化,而不會影響初始服務。調用另一個WCF服務的WCF服務很慢

問題是這些在IIS6上運行,必須啓用加密。

使用這兩種服務使我們得到約

每秒請求數量的平均值:4.75469280423686了400電話。

但如果我刪除服務調用第二服務,並以每秒請求

平均人數的絕對引用這近一倍替換:8.52248037501811了400電話。

有沒有人有任何線索,我可以做些什麼來優化這個?

我應該添加這些不是併發呼叫。

+0

有沒有找到解決辦法呢?我看到一個類似的問題,追蹤消息來源非常困難。 –

回答

3

我強烈建議您閱讀這篇由英國電信首席架構師編寫的CodeProject文章:http://www.codeproject.com/KB/webservices/quickwins.aspx

+0

謝謝,現在閱讀!然而,這些調用不是併發的(更新的主要帖子),但來自IP地址的2個呼叫限制將成爲服務#2的瓶頸 –

0

這兩個Web服務是否運行在同一臺計算機和同一個應用程序池上?我之前有過這個確切的問題;我們最終完全切斷了這個架構,但我相信這可以通過將它們放入不同的應用程序池來實現。

另外,既然您提到了IIS6,.Net可能會阻礙您:檢查出http://msdn.microsoft.com/en-us/library/ff647787.aspx(第6章:提高ASP.NET性能) - 特別是「線程解釋」部分。 (默認情況下,IIS6沒有爲您的處理器提供適當數量的.Net線程 - IIS7 +。

祝您好運!

+0

他們在同一個應用程序池中運行非常多..我會嘗試。在這個時候線程還沒有進入它我所有的測試都連續400次需要哪裏有1:1的請求到S1-> S2的映射 –

+0

有趣的是,這聽起來像每個連接到IIS都有一個滯後,即使從在其內部。你有沒有花費一些時間的服務行爲,比如在SOAP頭中進行身份驗證? –

相關問題