我有機會寫在它連接.NET C#應用程序(主要使用「原始」 HTTP請求,部分Web服務和XML請求,仍然通過HTTP)衆多外部系統和更新一些東西他們。多線程網絡爬蟲線程限制
可以有大量的工作排隊在給定時間和天真的方法來增加吞吐量,增加線程數。其背後的邏輯是:因爲大部分時間我們都在等待網絡回覆,所以我們可以同時等待更多的網絡回覆。 CPU和RAM似乎並沒有超出他們的極限。
仍然創造大約300個線程使一切工作比底線計數慢。
我想知道這是一個操作系統的限制(在Windows Server 2012 R2),在.NET(4.5)限制或其他什麼東西?我如何診斷瓶頸在哪裏? (正如我所說的CPU和RAM似乎並不成爲問題)
我知道外部系統可能會過載,並降低整體性能,但是讓我們假設這是可以忽略不計。
'ServicePointManager.DefaultConnectionLimit' ** **可能成爲問題。 – AgentFire 2014-10-06 08:14:55
準確的Windows版本?他們的最大數量和他們的管理是非常不同的。 – 2014-10-06 08:16:21
@AgentFire這似乎是我遇到的問題的直接原因實際上是這個限制。謝謝。 – user1713059 2014-10-09 12:51:33