问题:
我们在Tomcat中有很多应用程序,每个应用程序都需要大量时间才能开始。
在此期间,如果您向Tomcat端口发出HTTP请求,它将等待所有应用程序完全启动。
由于我们有一个只检查 Tomcat TCP 连接的负载均衡器,因此丢弃该 Tomcat 实例还不够智能。
想要的解决方案:
我想知道如何启动Tomcat,以便它仅在所有应用程序完全部署后才开始侦听HTTP请求。这样,负载均衡器会注意到无法建立 TCP 连接,并且在此期间会丢弃该 Tomcat。
tomcat wiki对此有一个"操作方法">
如何让雄猫启动得更快?
总之:
- 网页应用配置
- 删除不必要的 JAR
- 从扫描中排除 JAR
- 熵源配置
- 启用与 startStopThreads 并行启动 Web 应用程序
- 调整内存参数
- 尽可能修剪配置文件。XML解析并不便宜。要解析的越少 - 事情就会越快。
- 删除不需要的任何 Web 应用程序。(因此,请删除所有使用tomcat安装的Web应用程序(
- 确保你的代码没有做慢事。(使用探查器(