Java tomcat 8.0.32-生产服务器中Server.xml配置中的性能调整

Java tomcat 8.0.32-生产服务器中Server.xml配置中的性能调整,java,performance,tomcat,grails,Java,Performance,Tomcat,Grails,目前,我已经在Tomcat8.0中部署了我的GrailsWAR文件,使用的是带有2GB内存的ubuntu操作系统 我想知道需要在下面的代码中修改的配置,如maxConnections和maxThread等,以提高性能 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/> 另外,我想知道tomcat可以处理的最大并发用户数 我已经阅读了tomcat文档,

目前,我已经在Tomcat8.0中部署了我的GrailsWAR文件,使用的是带有2GB内存的ubuntu操作系统

我想知道需要在下面的代码中修改的配置,如maxConnections和maxThread等,以提高性能

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/>

另外,我想知道tomcat可以处理的最大并发用户数

我已经阅读了tomcat文档,大部分内容我都无法理解

感谢您的帮助

“视情况而定”(TM)

tomcat可以访问的最大连接数——就像并发用户数一样——完全取决于您的应用程序在做什么:它可能为每个请求计算分形图像,也可能只是显示静态内容。您最了解应用程序的功能,也最了解服务器的硬件

一些应用程序需要大量CPU,其他应用程序则受到RAM、DB性能或I/O的限制。然后根据您的措施增加或减少数量或已接受的连接。调整分配的内存。调整数据库。添加另一个网络适配器。当然,所有这些活动都只有在您的测量结果表明这修复了调试过程中发现的瓶颈时才能进行

从我的评论中引出要点:这就是它所依赖的(不完整的列表)-即使你回答了每一个要点,仍然不可能预测一个数字:

  • 应用程序的性质
  • 可用内存(以及操作系统中虚拟内存的使用)
  • 处理器速度
  • 您正在使用的JVM版本
  • JVM的内存和垃圾收集器设置
  • 盘速
  • 网络连接:如果所有客户端都通过非常慢的网络连接,它们将使连接保持更长时间
  • RAM芯片的定时
  • 网络延迟
  • 请求应答时间(请求处理的持续时间-这是您的应用程序)
  • 缓存的使用(例如,由应用程序使用,但也由CPU缓存使用)
  • 你的计算机上还运行着什么
  • 操作系统允许tomcat分配多少线程
  • 还有很多其他的项目

这个问题根本没有明确的答案。您必须自己测量安装。

我想知道,tomcat 8可以处理的最大连接数是多少。最大线程和最大连接之间的关系是什么。我的应用程序基本上是计算量少,内存多。答案仍然是“视情况而定”。我不知道您的处理器、网络设置、RAM定时、垃圾收集设置、Java运行时版本、tomcat相对于操作系统上的其他进程可以获得多少内存、连接的客户端类型(例如通过慢速或快速连接)等等。。即使我知道,答案仍然是:“测量你的环境”。没有人能为你做这件事。