2

我正在将一些简单的网络应用程序(基于节点的静态页面以及一些调查问卷和少量后端处理)迁移到 App Engine。我让他们运作良好。对它的简单印象深刻!

然而,我有几个问题让我感到困惑。

1)为什么GCE总是部署2台机器?有没有办法指定只运行 1?我真的不需要大量冗余,而且我们的流量预计会很轻。

2)我试图将 app.yaml 中的机器类型指定为“微型”。叫我便宜,但我们真的不需要太多容量。我尝试了各种参数,例如

resources:
  cpu: .5
  memory_gb: .2
  disk_size_gb: 10

但它似乎总是部署“小型”机器。某处是否有日志告诉我该命令有效,但它选择忽略它?

提前致谢。

4

2 回答 2

3

啊哈!抱歉,通过更多的谷歌搜索,我找到了 Q2 的答案

在 app.yaml 中为没有 vm_settings 的谷歌云计算 node.js 应用程序设置 f1-micro 资源限制

正如 Jeff 和 Greg 都回答的那样,“谷歌在选择机器类型之前在 VM 上增加了一点开销。这大约是 400mb 的内存。所以他们告诉我如果你想要一个 f1-micro 尝试请求 0.2 或更低,正如 Greg 提到的那样。 "

我不得不降到 0.18 才能将其部署为 f1-micro,但谷歌增加开销的一般想法是可靠的。

将 memory_gb 降低到 0.18 就可以了。

只需添加

resources:
  cpu: .5
  memory_gb: .18
  disk_size_gb: 10

并使用命令进行部署

gcloud preview app deploy --stop-previous-version --force --promote

该死的确保它是#1 似乎工作 - 到目前为止没有性能损失。

于 2016-03-22T13:54:01.423 回答
3

您还可以指定机器类型,而不仅仅是所需的资源。通过添加到app.yaml

beta_settings:
  machine_type: f1-micro

此外,如果您想始终使用 1 个实例,请添加:

manual_scaling:
  instances: 1
于 2016-03-22T13:59:15.983 回答