我正在尝试在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
参数?我该怎么做才能扩大实例的内存?
答案 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,则必须迁移到灵活环境。