我已經在這裏問了一個類似的問題:WCF Service calling an external web service results in timeouts in heavy load environment但是現在我已經有了一個更好的主意了,因爲發佈了一個新問題。WCF客戶端在重負載下超時
這是正在發生的事情:
- .NET客戶端發送的同時,以一個WCF服務的多個請求(如果它幫助 - 我使用Visual Studio負載測試複製此scneario)
- 客戶端已將「sendTimeout」設置爲5秒
- WCF服務收到它並開始處理它。處理過程涉及向外部服務發送請求,這可能需要1秒左右的時間來回復
- 這是我認爲問題所在的地方:客戶端向服務發送了很多請求,並且服務仍然很忙處理所述併發請求,一些來自客戶機的多個請求被5秒
我曾嘗試之後超時以下:
- 改變了InstanceContextMode到PerCall
- 增加maxConcurrentCalls 0123的值個maxConcurrentInstances
- 增加connectionManagement.maxconnection的價值在machine.config中
但沒有的,這似乎是做任何區別。有沒有人有任何想法如何確保我不會遇到這個超時問題?
感謝大家的幫助和指點。我想我已經找到了這個問題。我不得不增加maxConcurrentCalls&maxConcurrentSessions的值 - 這意味着該服務必須具有PerCall的InstanceContextMode。 我之前也是這樣做的,但是在我的負載測試中測試了一個單元測試,並且這些配置更改沒有任何區別。當我創建一個新的網絡測試,然後加載測試,一切似乎都很好地結合在一起。一直無法想出爲什麼是這樣的情況! – Ambuj