我们在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时遇到过类似的问题?

发布于 2016-09-12 16:22:15
空闲实例不用于平衡当前负载。它们在新的动态实例不断涌现时弥合了这一差距。在您的设置中,尝试一个或两个空闲实例并处理最小和最大挂起延迟可能是值得的。
挂起延迟是指请求在被实例处理之前在队列中停留多长时间。您在截图中看到的延迟是请求和响应之间的时间。如果任何单个请求需要21秒,它将如下所示。然而,挂起的延迟仍然可能低于30ms。
你应该检查你的日志,看看哪个请求花费了这么长的时间,可能会把它们分解成更小的工作块。许多小的工作比大的工作规模更大。挂起的延迟也会随着大量小任务的增加而增加,并将导致您的应用程序正确扩展。
https://stackoverflow.com/questions/39430290
复制相似问题