【发布时间】:2014-12-19 23:58:52
【问题描述】:
我在前端启动了一个带有 angularJs 的应用程序,并在后端启动了 google app engine java 用于休息服务。 一切正常,但我的应用程序只有我的流量。所以每次我一段时间不发送请求时,我的应用程序可能需要超过 30 秒才能回复我...
我不是唯一一个在 gae 上遇到 java 应用程序这个问题的人。 我在网上找到了两个解决方案:
- 在 gae 上创建新实例,但它不是免费的...
- 配置预热请求。
所以我用这个自定义 web.xml:
<servlet-mapping>
<url-pattern>/_ah/start</url-pattern>
<servlet-name>startup</servlet-name>
</servlet-mapping>
<servlet>
<servlet-name>startup</servlet-name>
<servlet-class>fr.gae.todo.api.servlet.StartupServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
和 appengine-web.xml 这个:
<warmup-requests-enabled>true</warmup-requests-enabled>
但是我的 StartupServlet 从来没有记录任何东西...有人知道为什么吗?
或者有加载请求的解决方案?因为我可以在日志中看到它们
【问题讨论】:
-
我的应用有 20 多个模块,100 多种数据类型和数百个 RPC 方法——实例启动时间在 6 到 8 秒之间。您应该考虑减少启动时间。