有什麼方法可以確定特定的JVM + Application Server組合可以處理多少個線程?問題不僅在於Web應用程序請求服務線程,還涉及後臺線程。JVM/Aplication服務器線程限制
0
A
回答
2
對於所有實際目的而言,這是情境性的,它確實「依賴」。
- 什麼線程都在做什麼?
- 他們每個人需要多少內存?
- 有多少垃圾回收正在進行?
- 你有多少記憶?
- 你有多少個CPU?
- 它們有多快?
的Java EE應用服務器的應用程序往往不是創建線程自己。而是配置線程池。我從來沒有遇到過創建10個以上的線程能夠解決問題的能力,以及一些應用程序服務器的限制阻止我這樣做。
使不同的應用服務器之間的性能比較,是非常不平凡的答案和傾向於脆 - 即。工作類型的微小變化會產生不同的答案。
你爲什麼問這個問題?
0
這真的不是你可以純粹從Java VM找到的東西。它比硬件/操作系統的限制更多於特定於虛擬機的任何限制。找出答案的最好方法是用大量的線程進行測試,並查看開始看到性能下降的位置。另見this devx discussion。
+0
謝謝。該鏈接很有幫助。 – 2009-08-25 15:56:17
1
這是真的取決於你與(數量的CPU,內存量等),也依賴於OS(的Solaris與Windows的),因爲底層的線程上運行的特定硬件取決於OS-提供線程管理。它還取決於應用程序和應用程序服務器本身,因爲每個線程消耗的資源量取決於應用程序。
相關問題
- 1. mysql服務器線程達到153的限制
- 2. 限制登臺服務器
- 3. 限制服務器訪問
- 4. Boost thread_group線程限制器
- 5. 流星JS(鐵路由器) - 限制訪問服務器路線
- 6. 多線程服務器:SwingWorker Vs線程?
- 7. 線程加入多線程服務器
- 8. 多線程Web服務器
- 9. LibGDX服務器線程
- 10. 服務器線程過載
- 11. Java服務器多線程
- 12. 線程兩臺服務器
- 13. 服務器線程掛起
- 14. Linux線程C服務器
- 15. 多線程服務器Java
- 16. TCP多線程服務器
- 17. GWT服務器線程
- 18. 多線程服務器
- 19. 限制textarea線服務器端(PHP)和HTML?
- 20. SQL服務器鏈接服務器到oracle 8000限制
- 21. 微服務,服務器發送事件和瀏覽器限制
- 22. 限制在服務器端返回的行數(強制限制)
- 23. WCF服務限制
- 24. WCF服務限制
- 25. 多進程服務器或多線程服務器?
- 26. Windows服務器的服務總線 - 安全/權限
- 27. MYSQL線程限制
- 28. 以太網服務器大小限制
- 29. 限制連接到服務器
- 30. 解析服務器資源限制
我問的原因是我想在Web服務中做一些異步處理。當然,原始請求將由應用程序服務器定義的線程池中的線程提供服務,但該線程會產生5個額外的線程來完成這項工作。因此,服務器可能需要的線程總數=請求服務線程數量*每個請求的工作線程數量+一定數量的後臺線程。這個數字可能相當大。我只是想知道在我實現某些功能之前JVM如何在這種情況下行爲。 – 2009-08-25 16:03:03
1)線程正在處理的web服務請求和內部訪問數據庫和其他網絡服務 2 + 3)與今天順序處理他們花費5-6MB /請求 4)可用的內存:2GB 5)1級的CPU 6)取決於在後端系統響應上 – 2009-08-25 16:08:15
許多應用程序服務器構建了以受控方式允許某種方式產生額外工作線程的方式,異步作業隊列等。使用這些方法,您應該能夠在普通服務線程和其他工作線程之間取得平衡。很可能,如果Web服務工作非常繁重,「submitJob,getJobResult」操作對可能會運行良好。 – djna 2009-08-25 17:38:32