目前我已经在 tomcat 8.0 中部署了我的 grails war 文件,使用 ubuntu 操作系统和 2 GB 内存。
我想知道更改以下代码所需的配置,如 maxConnections 和 maxThread 等,以提高性能。
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/>
此外,我想知道 tomcat 可以处理的最大并发用户数。
我已经阅读了 tomcat 文档,其中大部分内容我都无法理解。
感谢任何帮助。
最佳答案
“这取决于”(TM)
tomcat 可以访问的最大连接数 - 就像并发用户数一样 - 完全取决于您的应用程序正在做什么:它可能为每个请求计算分形图像,或者它可能只显示静态内容。您最了解您的应用程序做什么,并且您知道您的服务器有哪些硬件。
一些应用程序是 CPU 密集型应用程序,其他应用程序则受到 RAM、数据库性能或 I/O 的限制。测量你的。然后根据您的措施增加或减少数量或接受的连接。调整分配的内存。调整您的数据库。添加另一个网络适配器。当然,所有这些 Activity 仅在您的措施表明这解决了您在调试期间发现的瓶颈的情况下。
引入我评论中的要点:这就是它所依赖的(不完整列表)——即使您回答了每个要点,仍然无法预测一个数字:
- 申请的性质
- 可用内存(以及操作系统中虚拟内存的使用)
- 处理器速度
- 您使用的 JVM 版本
- JVM 的内存和垃圾收集器设置
- 光盘速度
- 网络连接:如果所有客户端都通过非常慢的网络连接,他们将保持连接打开更长时间
- RAM 芯片的时序
- 网络延迟
- 请求答复时间(请求处理的持续时间 - 这是您的申请)
- 缓存的使用(例如通过应用程序,还有 CPU 缓存)
- 您的计算机上还运行着什么
- 操作系统允许tomcat分配多少个线程
- 还有许多其他项目。
这个问题根本没有明确的答案。您必须自己测量安装。
关于java - tomcat 8.0.32 - 生产服务器中 Server.xml 配置中的性能调整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36521518/