我对改善冷启动时间并不陌生,我花了很多时间尝试不同的事情。我想尽可能知道完全 Google App Engine在冷启动时所做的事情。
我有一个日志声明,如http://code.google.com/intl/nl/appengine/kb/java.html#performance所述,以显示我的代码何时首次获得控制权。
我有两个应用程序,我一直在测试,一个很简单,我的代码在大约1秒后首先得到控制。
另一个有很多文件和东西,我的代码在大约2秒后首先获得控制权。这个库不再使用任何库,但是它确实有更多的jsps和java类。
即使没有使用类,可能只是让更多的java和jsp类导致冷启动更慢?
答案 0 :(得分:2)
那篇文章是一个非常好的资源。在日志声明部分后面稍晚:
如何加快加载请求的速度?
以下是一些建议:
- 懒洋洋地执行应用程序初始化,而不是急切地执行应用程序初始化,因此它不会在单个请求中发生。
- 在JVM之间共享昂贵的初始化。例如,将读取或计算成本高昂的数据放入内存缓存中,其他JVM在启动时可以快速读取。
- 在合理的情况下将初始化从应用程序启动转移到构建时。例如,在构建过程中将复杂数据文件转换为简单,快速读取的数据文件。
- 使用较小的依赖项。例如,更喜欢为您的任务优化的库,而不是执行非常繁重的初始化的大型库。
醇>
答案 1 :(得分:2)