【发布时间】:2017-02-08 05:58:19
【问题描述】:
我正在使用 grails 2.4.4 开发 Web 应用程序,而 Grails(使用 jetty 插件)大约需要 20 秒来初始化应用程序并使应用程序可用。
我可以接受这个相当长的时间,但旧硬件启动整个过程需要 3 分钟,我需要它更快,因为一旦服务器启动,性能就很好,不用担心。
p>在 SO 中搜索发现 jar 扫描 servlet 注释可能是问题,并为 WEB-INF/lib 中的类禁用它并将其添加到应用程序上下文 xml:
<Call name="setAttribute">
<Arg>org.eclipse.jetty.server.webapp.WebInfIncludeJarPattern</Arg>
<Arg>nothing.jar$</Arg>
</Call>
这有助于将时间从 16 秒缩短到 13 秒。 还尝试使用配置的 servlet 2.5 而不是 3.0(并移至 jetty 7)进行构建,以尝试进一步改进这一点,因为注释扫描是 servlet 3.0 的一项功能,但速度提升很小(大约 1 秒)。
我的目标是将这个时间缩短到 6 秒,因为在我测试过的最旧的硬件中,它大约需要 3 分钟,所以它慢了大约 10 倍,而且 1 分钟的启动时间在某种程度上是可以容忍的。
我对如何实现这一点有点迷茫。查看日志发现上下文初始化大约需要 2000 毫秒
2017-02-08 02:15:08,318 [main] INFO context.ContextLoader - Root WebApplicatio nContext:初始化在 2001 毫秒内完成
有没有办法加快这个速度?
【问题讨论】:
标签: hibernate grails jetty grails-orm