我們正在嘗試增加TCP遠程處理所使用的線程數。我們嘗試過更改ThreadPool.SetMinThreads,但我們的壓力測試顯示.NET Remoting只能處理約100個併發請求。 (但這不是硬性限制)。在任務管理器中,我們可以看到我們的遠程處理服務器進程的線程數從11增加到80,然後在壓力測試之後降到11。我們正在運行一個ASP.NET 4.0應用程序。如何增加TCP遠程處理所使用的線程數?
11
A
回答
0
4
綜上所述。遠程服務器由IIS服務由Windows服務和遠程客戶端託管。爲了執行壓力測試,您需要使用Apache Bench來調用遠程處理服務器的遠程客戶端。您注意到儘管您增加了遠程服務器上線程池中的最大線程數,但遠程服務器不會處理超過100個併發請求。
如果我說的都是真的,我認爲有一件事在這裏丟失,即IIS也有可用於處理請求的線程數量的限制。您可以向Apache遠程客戶端發送1000個Apache Bench的請求,但只有100個請求會同時處理。我懷疑這可能是一個原因。
爲了提高IIS的線程數,我建議你嘗試:
- 檢查組態(見本question)。
- 嘗試在IIS上使用
SetMinThreads
。
我最後的評論是,你必須記住,線程池中的線程數量太少或線程數量太少都不好。這兩種情況都會傷害到性能
0
你是肯定瓶頸是線程,而不是網絡連接..?默認情況下,.net每個遠程IP的套接字數量相當有限。這適用於遠程處理,HTTP(WCF,Web服務客戶端)等
您可以在應用程序配置/ web.config中system.net/connectionManagement下覆蓋這一點,如果這是你所看到的,如:
<configuration>
...
<system.net>
<connectionManagement>
<add address="*" maxconnection="1000"/>
</connectionManagement>
</system.net>
更多有關配置設置的詳細信息可以在這裏找到:https://msdn.microsoft.com/en-us/library/fb6y0fyc%28v=vs.110%29.aspx
相關問題
- 1. 使用TCP處理多個線程
- 2. .NET遠程處理線程模型
- 3. 增加線程數
- 4. 如何增加處理Azure SQL數據庫中全文索引的線程數
- 5. 多線程TCP服務器與高CPU和保持增加線程數
- 6. 使用線程處理多個Java TCP客戶端
- 7. 如何處理線程C#
- 8. Java:ThreadFactory如何處理線程?
- 9. 如何處理java線程
- 10. 使用10個線程處理數組
- 11. 如何在所有線程都在使用時增加newFixedThreadPool或newScheduledThreadPool中的線程數量?
- 12. 如何處理log4j的遠程監控?
- 13. 如何確定ARM處理器中使用的線程數。
- 14. 如何使用EJB3處理多個線程中的數據?
- 15. 如何增加在我的進程中運行的線程數?
- 16. 如何增加JVM中的線程
- 17. .Net Remoting不使用.Net遠程處理?
- 18. 線程處理
- 19. 線程處理
- 20. 處理線程
- 21. cherrypy如何處理用戶線程?
- 22. 如何處理OpenMP線程池爭用
- 23. 如何使用Spring Cloud Stream應用程序啓動程序處理消息TCP
- 24. 屬性的遠程處理
- 25. 與AIR的遠程處理
- 26. 線程處理參數
- 27. 如何在Android中使用多線程處理事件處理函數(SensorListeners)
- 28. 使用多線程增加文本框
- 29. 處理使用CountDownLatch的其餘線程
- 30. 使用單核的Android線程處理
我有幾個問題。 1.你使用什麼類型的遠程對象? Singleton,SingleCall,客戶端或服務器被激活?我不確定我是否正確理解你。線程數下降對你來說是一個問題。 3.你的機器有多少個處理器/內核?我是否正確使用IIS來託管遠程對象? 5.爲什麼你想要有這麼多的線程?你想提高性能嗎? – 2015-04-08 08:11:21
SingleCall。客戶端激活。 16核心。 IIS承載遠程客戶端。 Windows服務託管遠程服務器。我們希望提高性能,因爲我們注意到一次只能通過遠程管道擠滿100個請求(即使這些請求除了Thread.Sleep之外什麼也不做)。 – meub 2015-04-08 20:33:54
我想問一下另外2件事情。 1。我說對了,你在遠程服務器上使用了'ThreadPool.SetMinThread'嗎? 2.你是如何進行壓力測試的?我想知道對服務器的請求是從IIS託管的遠程客戶端還是從另一個不在IIS託管的應用程序發送的? – 2015-04-10 06:13:53