Google app engine 在为总共0个请求提供服务后,已超过1024 MB的软内存限制

Google app engine 在为总共0个请求提供服务后,已超过1024 MB的软内存限制,google-app-engine,google-cloud-platform,Google App Engine,Google Cloud Platform,在任何人将此问题标记为重复问题之前,有几个问题使其与我不同 看到此错误报告指示零请求,这是令人震惊的有1024兆字节(1GB!!)但我发了一个post请求,请求的文本负载甚至不能达到1KB 错误:在为总共0个请求提供服务后,超过了1024 MB的软内存限制(1059 MB)。考虑在App.YAML< /COD> 中设置更大的实例类 注意:没有其他东西在使用此服务器没有cron作业,没有deamons,我不希望消耗内存。以前,我对这个服务器做了很多代码优化,实际上它是空闲的。仅为我手机上的按钮点击

在任何人将此问题标记为重复问题之前,有几个问题使其与我不同

  • 看到此错误报告指示零请求,这是令人震惊的有1024兆字节(1GB!!)但我发了一个post请求,请求的文本负载甚至不能达到1KB
  • 错误:
    在为总共0个请求提供服务后,超过了1024 MB的软内存限制(1059 MB)。考虑在App.YAML< /COD> 

    中设置更大的实例类 注意:没有其他东西在使用此服务器没有cron作业,没有deamons,我不希望消耗内存。以前,我对这个服务器做了很多代码优化,实际上它是空闲的。仅为我手机上的按钮点击请求提供服务,应用程序中没有后台服务(一个用户一个应用程序)

    YAML文件:我使用

    # [START gae_quickstart_yaml]
    runtime: nodejs8
    instance_class: F4_1G
    # [END gae_quickstart_yaml]
    automatic_scaling:
      max_instances: 11
      target_cpu_utilization: 0.9
    
    问题:

  • 问题是什么

  • 如果我把这个应用到生产中(考虑到问题已经解决),它能处理5000-10000个用户每天发出20-30个请求吗?如果不是的话,我真的很感激为这么多的用户提供一个示例配置。这是我第一次在Google app engine/Google cloud上主持

  • 编辑:端点代码:

    router.post('/endP',(req,res)=>{
    让选项=req.body.userdata;
    让isresponsed=false;
    //用knex简单地插入DB
    db_helper.insert(con.knex,options)。然后(async)=>{
    isResponded=true;
    让reply=JSON.stringify;
    常量消息内容={
    数据:{
    正文:答复
    },
    安卓:{
    ttl:3600*1000*24*28,//4周
    优先级:“高”,
    },
    主题:“我的主题”
    };
    //FCM通知
    等待firebase.sendMessage(消息内容);
    res.status(200).send(encryptor.encrypt(reply)).end();
    }).catch(错误=>{
    如果(!isresponsed){
    让errr=err;
    res.status(500).send('Failed').end();
    }
    返回空
    });
    
    });它在本地运行时消耗多少内存? 如果您无法发布所有代码,请在内存配置文件运行时发布其结果
    我知道stackdriver在测试版中有一个分析器,可以用来跟踪正在发生的事情

    您的代码/数据使用的是1059 MB。第一步是编辑您的问题并包含您的代码。@JohnHanley请查看添加的代码,一个简单的代码消耗1 GB!!!添加所有代码,而不仅仅是一部分。与此终结点相关的其余代码只是我的数据库(knex)访问配置,具有私人凭据,即使我在40个文件中实现了它,或者初始化了50次,也不会消耗1 GB。因此,当您发布问题时,您应该提供最小的、完整的,和可验证的例子。如果不想发布所有代码,请将代码减少到再现问题的最小值,然后发布。