[英]WCF Restful service bad performance
我的wcf restful服務只能服務2個請求/秒!
詳細:
我創建了一個wcf restful服務,它只通過GET動詞公開一個方法。 該方法沒有邏輯,並立即返回。
我還創建了一個測試客戶端,以檢查服務吞吐量和性能,這是WebHttpRequest發出的請求。
該服務每秒只能處理2個請求!
我還通過我的瀏覽器向服務發出請求,結果相同:一個請求500毫秒。
然后我將服務綁定更改為netTcpBinding,並且該服務能夠處理大約2000個請求/秒。
該服務在Windows服務下運行,由WebServiceHost和WebHtppBinding托管。
很高興提到客戶端和服務都在同一台服務器上運行。
wcf restful service的性能如此差,這有什么意義嗎?
會感激任何幫助。 謝謝。
不,它沒有任何意義,可能表明您的測試存在問題。 您的REST測試客戶端是如何編寫的? 您是否意識到,默認情況下,.NET只允許兩個打開的連接到任何域以進行“常規”.NET進程? 對於ASP.NET應用程序,它會自動增加到10 。
該信息在ServicePointManager.DefaultConnectionLimit
。 您可以通過為要嘗試連接的域添加更高的限制來以編程方式或通過配置來增加此值。 配置明智,這看起來像這樣:
<system.net>
<connectionManagement>
<add address="www.myserver.com" maxconnection="20" />
</connectionManagement>
</system.net>
如果您願意,可以使用address="*"
打開所有域的連接。
至於你看到的延遲,它可能是默認情況下其他功能的結果,例如UseNagleAlgorithm
或者,如果你的POST, Expect100Continue 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.