App Engine标准Node.js8忽略资源中的memory_gb

时间:2018-10-31 12:12:06

标签: google-app-engine app.yaml google-appengine-node

我正在尝试在Google App Engine标准上部署Nodejs8,内存密集型应用。

这是我的app.yaml

runtime: nodejs8
resources:
  cpu: 1
  memory_gb: 6
  disk_size_gb: 10

这是我的部署命令:
gcloud app deploy --project=my-project --version=0-0-12

这是我尝试访问应用程序相关端点时遇到的错误:
Exceeded soft memory limit of 128 MB with 182 MB after servicing 0 requests total. Consider setting a larger instance class in app.yaml.

如何忽略memory_gb参数?我该怎么做才能扩大实例的内存?

1 个答案:

答案 0 :(得分:1)

您正在尝试将 flexible 环境Resource settings用于标准环境app.yaml file,此方法将不起作用。请注意,在大多数情况下,无效设置将被静默忽略,因此您需要小心。

对于标准环境,您不能明确选择单个资源,只能使用Runtime and app elements中的instance_class选项:

  

instance_class

     

可选。 instance class用于此服务。

     

以下值是否可用取决于您的服务   scaling

     
      
  • 自动缩放

         

    F1,F2,F4,F4_1G

         

    默认:如果未与automatic_scaling元素一起指定实例类,则分配 F1

  •   
  • 基本和手动缩放

         

    B1,B2,B4,B4_1G,B8

         

    默认:如果未与basic_scaling元素或元素一起指定实例类,则分配 B2 。   manual_scaling元素。

  •   
     

注意:如果 instance_class 设置为 F2 或更高,则可以通过设置 max_concurrent_requests 来优化实例。到一个   值大于10,这是默认值。为了找到最佳值,   逐渐增加它并监视您的应用程序的性能。

当前支持的标准环境实例类中的最大可用内存量为1G,如果您实际上需要6G,则必须迁移到灵活环境。

旁注:可能有用:How to tell if a Google App Engine documentation page applies to the standard or the flexible environment