在Google应用引擎中,只有一个实例处理大多数请求

时间:2016-05-12 13:43:25

标签: google-app-engine

我们在谷歌应用引擎中有4个实例,只有一个实例正在处理大部分请求。我们如何扩展以使所有实例都可以处理相同数量的请求?

2 个答案:

答案 0 :(得分:2)

均匀地平衡正在运行的实例的负载实际上并不意味着扩展。只要一个实例能够以可接受的性能处理传入请求,您就不会考虑扩展问题。

如果您正在使用自动或基本缩放(如果您关注可扩展性,则应该使用它),在运行实例中分布的不均匀负载实际上可能必不可少用于控制自动实例按需启动(当负载超过某个阈值时)和关闭(当实例空闲时)。

例如,如果1-2个实例可以轻松处理的负载在4个正在运行的实例中均匀分布,则4个实例中没有一个空闲的时间足够长,无法关闭。

将单个实例作为"首选"一个用于运行流量而另一个只是选择运行" /峰值负载使得用于控制实例启动/关闭的算法更加简单(并且我认为更精确) - 阈值比较逻辑只需要应用于一个(或几个)运行实例,而不是全部应用。

答案 1 :(得分:0)

我还要问的问题是你是否使用常驻实例和动态实例。

例如,如果您在应用程序yaml文件中配置了缩放覆盖,您可能会看到一些实例只是“坐在那里”。驻留实例可以处理峰值/溢出流量,并且始终处于打开状态,但最终可能无法始终为流量提供服务。

EG:

 automatic_scaling:
      min_idle_instances: 6