如何预热app引擎端点

时间:2017-05-10 06:06:29

标签: google-app-engine google-cloud-endpoints

我有appengine端点并尝试减少对新创建的端点实例的少量第一次调用的延迟。应用程序是用Java编写的,端点是自动缩放的。 为了解决这个问题,我配置了空闲实例,尽管即使已经创建了实例,但是前几次调用路由会消耗一些额外的时间。在documentation之后,我实现了自定义servlet处理预热请求,并在启动时将EndpointsServlet标记为负载。

在预热servlet中,我放置了启动一些常用服务的代码,加载了一些数据等。几乎无法注意到效果。

之后我实现了对端点暴露的方法的调用,如:

call("/_ah/api/teamly/v1/test/dummy")

它适用于某些情况(甚至大多数情况下),并且在调用几个关键方法之后,实例已准备就绪。我现在面临的问题是,如果我使用自动缩放模块I can't route the request to specific instance.

所以问题是:

如何正确预热端点实例以避免从前端发起的加载请求。

1 个答案:

答案 0 :(得分:2)

您需要将一个侦听器放入/ _ah / warmup,然后调用您想要预热的任何资源。您可以在以下网址找到详细信息:

Configuring Warmup Requests to Improve Performance