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

标签 java performance tomcat grails

目前我已经在 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/

相关文章:

python - Pandas 掩码/where 方法与 NumPy np.where

mysql - MySQL WHERE 子句中的 CASE 或 COALESCE 性能

java - 可以用任何其他更优化的代码 JAVA 替换具有 AND OR NOT 的条件的多个 if 条件吗?

tomcat: startup.sh 不部署 war 文件

Java 8 : Reverse an int array in one line (using Streams API)

java - 试图将 Java 变量传递给 sql 字符串

java - 如何使用WebApplicationInitializer依赖项目?

tomcat - 带 Tomcat 服务器和 BlazeDS 的 FileLock

apache - Tomcat 的 JSP 错误

java - 如何禁用 Java Swing 应用程序中的“开始”按钮?