Vla*_*mir 7 java performance google-app-engine spring-mvc
我最近将一个Spring MVC应用程序部署到谷歌应用引擎,初始加载时间约为7秒.加载应用程序后,该应用程序响应迅速.但是,如果应用程序闲置超过1分钟(没有任何流量)应用程序需要再次由GAE重新加载,这也需要大约7秒.对于PRD级应用程序,这是不可接受的.(应用程序是空的 - 我甚至没有使用JPA,Sitemesh,Spring Security等.它只是加载一个带有一些文本的jsp页面.)
修复我到目前为止看到的"加载时间"的唯一"最佳实践"是设置一个每分钟都能访问url的cron作业,从而保持应用程序"加载".显然这是一个可怕的解决方案.
所以这里有一个问题:就"响应能力"而言,Spring上GAE是否有"最佳实践"?由于谷歌和春天正在努力开发两者之间更好的整合,这个问题是否有任何新闻/进展?我找不到任何具体的东西,这就是我在这里问的原因
主题讨论:http: //groups.google.com/group/google-appengine-java/browse_thread/thread/80d014fd5abd526f
UPDATE
有一个"门票"可以创建预留实例,以及"加热"逻辑:http: //code.google.com/p/googleappengine/issues/detail?id = 2456
GAE开始提供付费服务,您可以随时保留热实例:
http://googleappengine.blogspot.com/2010/12/happy-holidays-from-app-engine-team-140.html
始终在线 - 对于流量较低或流量可变的高优先级应用程序,您现在可以通过 App Engine 的始终在线功能预留实例。Always On 是一项高级功能,每月费用为 9 美元,它会保留应用程序的三个实例,并且永远不会关闭它们,即使应用程序没有流量也是如此。这减轻了加载请求对具有少量或可变流量的应用程序的影响。
如果您计划使用 GAE,那么与预热请求结合起来,这是最佳解决方案。