将automatic_scaling max_idle_instances设置为零(0)有什么作用?
automatic_scaling:
max_idle_instances: 0
min_idle_instances: 0
它是否会导致活动实例在处理完当前请求后立即关闭?
答案 0 :(得分:0)
从技术上讲,您甚至无法将max_idle_instances
设置为0
,您会在部署时看到此错误:
Error 400: --- begin server output ---
automatic_scaling.max_idle_instances (0), must be in the range [1,1000].
--- end server output ---
部署版本号低于已部署版本的版本可能没有(立即)关闭已经运行的空闲实例超过新配置的数量 - 限制不是“硬”限制,在某些情况下,它可以超过。例如,从Scaling elements表中的automatic_scaling
行:
注意:在加载峰值后恢复正常水平时,空闲实例的数量可能会暂时超过您指定的数量 最大值。但是,您不会被收取比实例更多的实例 你指定的最大数量。
您还应该记住,此配置适用于空闲实例,而不适用于动态/有效实例(处理大部分流量的实例) 。降低max_idle_instances
配置不会影响动态实例。
空闲实例仅提供瞬时溢出流量 - 请求当前运行的动态实例无法在传入流量突然上升期间以可接受的延迟处理,而GAE会旋转其他动态实例。
来自上面引用的相同文档:
由于App Engine保留空闲实例,因此不太可能 除特殊情况外,请求将进入待处理队列 高负荷尖峰。您需要测试您的应用程序并预期 通信量确定要保留的理想实例数 储备。