首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我们在一个自动伸缩的Google App Engine实例上遇到了巨大的延迟,而其他几个实例都是可用的?

为什么我们在一个自动伸缩的Google App Engine实例上遇到了巨大的延迟,而其他几个实例都是可用的?
EN

Stack Overflow用户
提问于 2016-09-11 04:26:18
回答 1查看 215关注 0票数 1

我们在app.yaml中的自动缩放参数如下:

automatic_scaling: min_idle_instances: 3 max_idle_instances: automatic max_pending_latency: 30ms max_concurrent_requests: 20

结果是3个驻留实例,通常是2-6个动态实例(取决于流量),但实例之间的负载分配似乎效率低下。在下面的截图中,我们看到了1个请求占绝大多数的实例,以及巨大的21s延迟(在最后一分钟)。

对我来说,这表明我们的设置一定有问题,才能解释这些高延迟。

有没有人在使用GCP或App Engine时遇到过类似的问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-12 16:22:15

空闲实例不用于平衡当前负载。它们在新的动态实例不断涌现时弥合了这一差距。在您的设置中,尝试一个或两个空闲实例并处理最小和最大挂起延迟可能是值得的。

挂起延迟是指请求在被实例处理之前在队列中停留多长时间。您在截图中看到的延迟是请求和响应之间的时间。如果任何单个请求需要21秒,它将如下所示。然而,挂起的延迟仍然可能低于30ms。

你应该检查你的日志,看看哪个请求花费了这么长的时间,可能会把它们分解成更小的工作块。许多小的工作比大的工作规模更大。挂起的延迟也会随着大量小任务的增加而增加,并将导致您的应用程序正确扩展。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39430290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档