在GAE中使用Warmup Requests(预热请求)

标签:Google App Engine

随着SDK 1.4.0的正式发布,Warmup Requests的文档终于出来了。

在一个新instance上载入你的代码时,会导致Loading Request
也就是说,instance必须载入这个请求里所有import的库,这会导致明显慢于其他的请求。
Google给出的建议是:
  • 启动时只载入必需的代码。
  • 少访问硬盘。
  • 在某些情况下,从zip或jar文件中载入代码会比从很多独立的文件中载入更快。(注意是在某些情况下,别一股脑全zip了。)

Warmup Requests将可以减少Loading Requests,因为GAE在发现需要更多instance时,会在用户访问前先访问这个instance,以载入必需的代码。
不过它并非万能,如果用户是第一个访问的,当前并无可用instance,Warmup Requests将不会有效。而启用Always On将消除大部分Loading Requests,只要instance的增长没有超过GAE的预期。

要启用Warming Requests,只需在app.yaml中添加:
inbound_services:
- warmup
这样就会用GET方法预访问/_ah/warmup。你只要在这个请求中载入代码即可。

0条评论 你不来一发么↓

    想说点什么呢?