我已经接近完成一个应用程序引擎项目(java + jdo),并且有点担心启动时间。当应用程序“冷”时,应用程序引擎可能需要很长时间来加载我的应用程序(超过5秒) - 这很糟糕,因为用户可能会在等待这么久后放弃。
有一个名为Slim3的项目,它包装了本机数据存储区 - 它应该为您提供1到3秒的启动时间: http://sites.google.com/site/slim3appengine/
我真的不想依靠第三方来获得不错的启动时间,但我认为我们没有任何选择。只是想知道你是如何处理长启动时间的。我读到,只要你的应用程序每2分钟左右就会受到一次打击,那么你的应用程序会保持驻留状态,这不是真正的问题。这对我来说是公平和公正的(如果是的话)。
我认为应用引擎团队目前正在努力减少启动时间,所以想知道我们应该做些什么(如果有的话)来解决这个问题?
由于
答案 0 :(得分:2)
Objectify是另一种替代数据存储包装器,应该比JDO更快。
根据Roadmap,应用引擎团队实际上正在解决此问题,方法是让我们能够保留实例。当然,甚至没有对目标日期的估计,因此在此期间可能仍然需要寻找解决方案。
您可以做的另一件事是确保您已将所有自己的代码作为启动瓶颈消除。你确定它只是JDO代码需要很长时间吗?是否有任何初始化任务可以推迟到以后,以分摊第一次命中的成本?
答案 1 :(得分:1)
仅供参考,在日本App Engine社区,Slim3是访问数据存储区的事实标准 - 我的Twitter TL上超过50%的用户正在使用它来进行资源提供服务。旋转时间和查询速度(与低级API一样快)比JDO快得多,并且通过利用Java / Eclipse的类型系统更容易构建查询。
谢谢,
卡兹