【问题标题】:How to configure apache tomcat to render pages fast [closed]如何配置 apache tomcat 以快速呈现页面 [关闭]
【发布时间】:2011-04-26 11:03:41
【问题描述】:

我在Intel core 2 duo Ubuntu 11.4 机器上的apache-tomcat 7.0 上托管jsp/servlet Web 应用程序。与 Windows 7 上的相同部署相比,我觉得性能很慢。

我对 Web 应用程序开发非常陌生。如何调整我的 tomcat 设置以使其快速运行。该机器现在专门用于托管此 Web 应用程序。

问候,

南迪什

【问题讨论】:

  • catalina.bin 文件与 catalina.sh 文件相比是什么样的? “最大”和“最小”内存设置有什么区别吗?
  • 这也是一个好点——检查启动脚本中的 -Xms 和 -Xmx 设置。
  • 你“感觉到”了吗? “你衡量”怎么样?..

标签: java jsp tomcat servlets ubuntu


【解决方案1】:

需要考虑的几点:

  • 第一次访问 JSP 将编译 JSP,这是一个漫长的过程 - 因此请尝试在部署之前预编译页面,或在页面编译后检查页面
  • 检查 JDK 版本是否相同 -- 即使是较小的 JDK 版本有时也会带来速度提升
  • 检查您是否使用相同的 Tomcat 版本
  • 如果您在后端使用数据库 -- 数据库执行速度是否慢?在这种情况下调整你的数据库
  • 是不是您的 windows 机器是本地的,因此下载页面是即时的,而 linux 机器位于数据中心或其他地方 - 基本上不再在您的本地主机上 - 并且网络流量会减慢传输速度?在这种情况下,请考虑在您的输出中添加 gzip 编码并在发送前压缩数据,从而缩短传输时间。
  • 您是否在您的应用程序中访问大量静态文件(例如图像、css)?在这种情况下,会不会是访问文件系统很慢?如果您的资源位于频繁使用的文件系统上,请尝试将它们移动到不同的磁盘上,或者更好地使用标准的 apache(不是 tomcat)服务器来提供静态内容。

【讨论】:

  • 感谢您的建议。在我的应用程序中,我的jsp 非常少。它更多地使用 servlet 和 java 脚本。我的本地网络中有 Linux 机器,我希望它能够像我的 Win 机器一样运行。我的期望在这里错了吗? mysql运行速度快,jdk版本也一样
  • 好的,如果它与您的 windows 机器在同一个 LAN 中,那么您的期望仅在网络访问方面是正确的 - 所以说一个 10Kb 的页面应该从 windows 和 linux 机器上下载相同的数量。 (我在这里假设网络接口是相同的——例如都是 100Mbps——而且它们确实在同一个 LAN 中并且不受不同路由的影响)。
  • 然而,正如我之前所说,你需要检查你的硬件配置——如果它不同,那么你就不能比较苹果和橘子。这涉及磁盘,内存,cpu。还要检查你的软件配置——jdk、tomcat、mysql 版本
【解决方案2】:

检查静态内容 (.html) 文件是否也很慢,如果是,您应该考虑使用 APR(Apache Runtime Portable)进行安装。

如果在呈现静态内容时速度不慢,那么您应该查看一下应用程序的分析,以准确了解瓶颈在哪里。

在服务机器上使用浏览器指向 localhost 时会不会很慢?如果不是,很可能是网络慢而不是tomcat机器。

要真正找出为什么某些东西很慢,您应该对其进行分析。您可以使用 yourkit 之类的工具来分析远程 Java 应用程序。

  • 还要检查 Liv 上面所说的所有内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多