Aws lambda AWS Lambda-解决100%CPU问题

Aws lambda AWS Lambda-解决100%CPU问题,aws-lambda,Aws Lambda,几天前,我开始与Lambda合作。 每个lambda调用都是我拥有的CRON作业的执行。 我注意到,对于非常简单的任务,超时(5分钟),不应该占用大量内存/CPU,而在本地运行它们时,实际上只需不到20秒 然后我将此代码添加到lambda的主文件中: const libCpuUsage = require('cpu-usage'); libCpuUsage(1000, function (load) { if (load > 60) console.log("\r

几天前,我开始与Lambda合作。 每个lambda调用都是我拥有的CRON作业的执行。 我注意到,对于非常简单的任务,超时(5分钟),不应该占用大量内存/CPU,而在本地运行它们时,实际上只需不到20秒

然后我将此代码添加到lambda的主文件中:

const libCpuUsage = require('cpu-usage');

libCpuUsage(1000, function (load) {
    if (load > 60)
        console.log("\rCPU LOAD: " + load + "%   ");
});
我在日志中看到“CPU负载:100%”(有时)

我的问题是:

  • 如何查找每个调用的CPU使用率
  • 我知道lambda是在一个docket容器(?)上运行的,许多事件可以发送到同一个容器。我可以限制事件的数量吗
  • 在dockers上运行时,我给任务分配了2048个CPU单元,但从未得到100%的使用率。我怎么能把同样的给一只羔羊呢
  • 还有什么我可以查的吗

  • 关于你的问题:

  • 要查找在AWS Lambda中运行时速度较慢的代码部分,添加一些甚至更好的与集成将有所帮助
  • AWS Lambda在容器中运行,但这些容器不是docker容器。每个容器只能并行处理一个事件,但通常顺序处理多个事件。因此,如果您只有几个事件,那么AWS Lambda函数可能只在一个容器中运行,而当您有许多并行事件时,它将在多个容器中运行(有关更多详细信息,请参阅)
  • AWS Lambda中的可用CPU资源直接与提供给AWS Lambda函数的内存量相耦合(有关更多详细信息,请参阅)。因此,增加Lambda函数可用的内存量,也会增加可用的CPU资源
  • 我建议您使用1中的建议。要想知道Lambda函数中的哪些部分需要花费很长的时间,如果它仍然是不应该花费很长时间的,可以为它单独问一个问题

  • 关于你的问题:

  • 要查找在AWS Lambda中运行时速度较慢的代码部分,添加一些甚至更好的与集成将有所帮助
  • AWS Lambda在容器中运行,但这些容器不是docker容器。每个容器只能并行处理一个事件,但通常顺序处理多个事件。因此,如果您只有几个事件,那么AWS Lambda函数可能只在一个容器中运行,而当您有许多并行事件时,它将在多个容器中运行(有关更多详细信息,请参阅)
  • AWS Lambda中的可用CPU资源直接与提供给AWS Lambda函数的内存量相耦合(有关更多详细信息,请参阅)。因此,增加Lambda函数可用的内存量,也会增加可用的CPU资源
  • 我建议您使用1中的建议。要想知道Lambda函数中的哪些部分需要花费很长的时间,如果它仍然是不应该花费很长时间的,可以为它单独问一个问题

  • 很明显,问题是io问题,而不是CPU问题。 lambda功能的VPC设置错误


    另外,我不确定“cpu使用率”节点模块是否可以与lambda容器一起工作,所以很明显,问题是io问题,而不是cpu问题。 lambda功能的VPC设置错误

    此外,我不确定“cpu使用率”节点模块是否可以与lambda容器一起工作