Google App Engine中的min-instances和min-idle-instances有什么区别?

时间:2018-08-30 08:27:26

标签: google-app-engine

有人可以帮助我了解最小实例与最小空闲实例之间的区别吗?

我已经看过https://cloud.google.com/appengine/docs/standard/java/config/appref#scaling_elements上的文档,但是我真的不需要区分这两个参数,我应该使用哪一个?

我的需求是我希望至少一直启动1个实例,否则在大多数情况下,gae需要花一些时间来创建实例,而到那时我的请求将超时(在基本扩展的情况下)

所以我的用例是,我正在寻找1个实例始终保持运行状态,无论是否有流量,如果请求到来,它将立即为它服务并且请求增长,那么它可能会扩大它…

4 个答案:

答案 0 :(得分:3)

min-idle-instances引用了可以支持您的应用程序的实例,以防您收到高流量 CPU密集型任务,而与{{ 1}}是用于立即处理传入请求的实例。建议您查看this link,以更深入地了解空闲实例。

基于此,由于您的用例着重于立即处理传入的请求,我想您宁愿使用min_instances功能,而仅在需要时使用min_instances准备应对突然的负载高峰。

答案 1 :(得分:1)

min-instances配置适用于 dynamic 实例,而min-idle-instances适用于 idle / resident 实例。

另请参阅:

答案 2 :(得分:0)

min_instances适用于您要运行的实例数,从0(如果您希望在不接收流量时进行缩减,则很有用)到1000。您需要为实例数付费您已经跑步了,因此,这对于节省成本很重要。

根据您的情况,将此值设置为1,因为它是最简单的选项。

答案 3 :(得分:0)

min_instances:任何时间运行的最小实例数,有流量或无流量,风雨无阻。

min_idle_instances:在当前使用的实例上运行的空闲(或“未使用”)实例的最小值。示例:您自动扩展到 5 个正在接收请求的应用引擎实例,通过将 min_idle_instances 设置为 2,您将总共运行 7 个实例,2 个“额外”实例空闲并等待接收更多负载.目标是当负载增加时,您的用户不必等待启动实例所需的加载时间。

重要提示:您需要配置预热请求才能使其工作

重要提示 2:您需要为任何正在运行的实例付费,无论是否空闲。应用引擎并不便宜,所以要小心。