有没有办法确定特定JVM + Application Server组合可以处理多少个线程?问题不仅是关于Web应用程序请求服务线程,还涉及后台线程。
答案 0 :(得分:2)
出于所有实际目的,这是情境性的,它确实“依赖”。
Java EE App Server应用程序往往不会自己创建线程。而是配置线程池。我从来没有能够创建10个以上的线程来解决问题,并且某些应用程序服务器限制阻止我这样做。
在不同的应用服务器之间进行性能比较非常重要,答案往往很脆弱 - 即。工作类型的微小变化可以产生不同的答案。
你为什么问这个问题?
答案 1 :(得分:1)
这实际上取决于您运行的特定硬件(CPU数量,内存量等),还取决于操作系统(Solaris与Windows),因为底层线程依赖于操作系统提供的操作系统线程管理。它还取决于应用程序和应用程序服务器本身,因为每个线程消耗的资源量取决于应用程序。
答案 2 :(得分:0)
这真的不是你可以从Java VM中找到的东西。它更多的是硬件/操作系统限制,而不是特定于VM的任何内容。找出这个答案的最好方法是使用大量线程进行测试,看看你在哪里开始看到性能下降。另请参阅this devx discussion。