情况是这样的:我有一个冷启动时间约为4秒的应用程序。我试图通过删除一堆我并不真正需要的库和代码来改善冷启动时间。这样做之后,冷启动时间大约是3秒延迟,使用了3秒的CPU时间。
我在appengine-web.xml中更改了版本号,没有更改其他内容。现在我有两个版本的应用程序,它们有完全相同的代码,启动和运行。
对于冷启动,新版本使用1800ms到1900ms的CPU时间。
对于冷启动,旧版本使用2400ms到3000ms的CPU时间。
请求来自每个版本的完全相同的jsp页面来测试冷启动时间。到目前为止,我已经为每个版本采样了7个冷启动。
发布于 2010-05-13 20:16:49
嗯,我认为你的应用程序的外观可能存在某种缓存,因为gae上传基本上是差异更新(你只发送更改过的文件)。
如果您在一个版本id上发布了许多更改,则GAE可能有您的代码的多个快照。
因此,如果你做了很大的改变(这是我的经验法则),你应该总是改变你的应用程序的版本,只是为了确保。额外的提交我只用于bug修复,从不用于大型重构/添加或删除JAR。我认为在这一点上,您也有了新的日志和简单的“刷新安装”您的应用程序,以便GAE可以做一些优化……
同意吗?
发布于 2010-03-18 00:22:59
听起来像是偶然,我看不出改变你的程序的版本号会导致速度的改变。除非有一个巧合的库更新或类似的东西。
发布于 2010-03-18 01:27:44
版本号会不会改变了某个地方的执行路径?也许是在应用程序运行前发生的XML解析器或数据绑定中?
https://stackoverflow.com/questions/2463937
复制相似问题