如何正确管理 GCP Appengine 标准环境实例?

如何正确管理 GCP Appengine 标准环境实例?

我有一个 Appengine 标准环境,其中有一个应用程序,它公开了一系列 REST 服务供使用,一切正常,但响应时间有点长。第一个请求需要大约 40 秒才能响应,之后的响应时间以毫秒为单位,如果服务一段时间未使用,这种情况会再次发生。

我了解实例初始化会导致延迟,并且如果实例未被使用,则可以将其丢弃,因此我尝试更改扩展类型,到目前为止最好的结果是自动扩展,至少有 1 个空闲实例,但问题仍然存在。

我还编写了一个 cron-job,不断调用服务,以便无法处置实例,但没有工作。

管理实例的正确方法是什么,以便服务能够以较短的响应时间提供?这在标准环境中是可以预期的吗?通过切换到灵活的标准可以解决这个问题吗?

答案1

您的应用在遇到加载请求时似乎表现正常。发生这种情况是因为应用会进行初始化,其中必须首先加载处理用户请求所需的所有库和资源。

我认为您可以通过遵循此处的最佳实践来提高应用程序的性能[1]。

您提到的 App Engine Flex 也是正确的。在那里您将有一个始终运行的实例。

[1]https://cloud.google.com/appengine/docs/standard/go/how-instances-are-managed#loading_requests

相关内容