8

我目前使用 tomcat 6 作为我的 Web 服务器。
我有一个非常小的应用程序,在服务器上部署应该不需要很长时间,但是我的 tomcat 启动时间太长。

它花费了大部分时间在后续步骤中。

信息:启动 Servlet 引擎:Apache Tomcat/6.0.16

我不知道为什么要花很多时间。停止服务器也是如此。我几乎尝试了我所知道的一切。我还尝试从工作区中删除服务器并从头开始。我不知道是什么问题。

4

5 回答 5

4

您可以找出哪个库消耗了时间。当服务器以调试模式启动时,暂停其线程数次并检查堆栈跟踪。可能有一些库填充它的 Spring 应用程序上下文,编织建议的对象,初始化文件存储,等等。如果是这样,您将从堆栈跟踪中看到它。

于 2012-04-09T09:14:43.367 回答
2

您是否删除了所有随 tomcat 安装的默认 Web 应用程序?即使您的 webapp 很小,也可能有其他应用程序需要一些时间来安装。您可以从名为 catalina___.log 文件的服务器日志文件中检查这一点。

于 2012-04-09T09:25:45.113 回答
2

我知道这篇文章很旧,即使我想分享几个检查点,因为这些与tomcat版本无关......

我遇到了同样的问题,我按照以下步骤操作,现在我的服务器在 130 毫秒内启动。

  1. 如果您使用的是任何 IDE,请首先验证控制台,您可以在那里找到每个应用程序的时间(以毫秒为单位)。所以你会知道哪个需要很长时间。
  2. 为确保您的发现是正确的,只需从“webapps”文件夹中删除该应用程序并再次启动 tomcat。
  3. 删除您不需要的默认应用程序。通常我们只使用 tomcat 管理器,所以只保留管理器应用程序并从“webapps”文件夹中删除其他应用程序
  4. 确保“临时”文件夹为空
  5. 清理旧的日志文件。并且不要将您的应用程序日志文件写入服务器文件夹。
  6. 先启动服务器,然后再部署文件。这样您就不会面临超时错误。

这就是我尝试过的任何成功。

于 2017-02-17T14:09:35.557 回答
1

这可能是由于缺乏 Tomcat 所需的随机熵。

由于 SecureRandom,请参阅https://cwiki.apache.org/confluence/display/TOMCAT/HowTo+FasterStartUp#HowToFasterStartUp-EntropySource 和 Tomcat 7.0.57 上的缓慢启动

(编辑:第一个链接更新)

于 2018-03-15T02:49:36.260 回答
0

我猜您已将所有库 (JAR) 放在 WEB-INF/lib 文件夹中。而是将它们移动到单独的目录并使用 catalina.properties 中的 shared.loader 引用目录或 JAR

于 2019-02-28T13:36:48.873 回答