首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS Lambda -解决100%的CPU问题

AWS Lambda -解决100%的CPU问题
EN

Stack Overflow用户
提问于 2018-07-08 11:07:33
回答 2查看 414关注 0票数 0

几天前我开始和Lambda一起工作。每个lambda调用都是我所拥有的CRON作业的执行。我注意到了非常简单的任务的超时(5分钟),这不应该占用大量的内存/CPU,并且在本地运行时,它们实际上花费了不到20秒。

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

代码语言:javascript
复制
const libCpuUsage = require('cpu-usage');

libCpuUsage(1000, function (load) {
    if (load > 60)
        console.log("\rCPU LOAD: " + load + "%   ");
});

我在日志中看到了“CPU负载: 100%”(有时)

我的问题是:

  1. 如何找到每个调用的CPU使用情况?
  2. 据我所知,lambda运行在一个目录容器(?)上,可以将许多事件发送到同一个容器。我可以限制事件的#吗?
  3. 当我在码头上运行时,我给出了2048个CPU的任务,但从未得到100%的使用。我怎么能把同样的东西给一个羔羊呢?
  4. 还有什么我可以查的吗?
EN

回答 2

Stack Overflow用户

发布于 2018-07-08 11:24:07

关于你的问题:

  1. 要找到在AWS中运行缓慢的代码部分,添加一些日志记录或更好的AWS X射线自定义段集成将有帮助。
  2. AWS Lambda在集装箱中运行,但这些不是码头集装箱。每个容器仅并行地处理一个事件,但通常顺序处理多个事件。因此,如果您只有几个事件,那么您的AWS函数可能只在一个容器中运行,而当您有很多并行事件时,它将在多个容器中运行(更多细节请参见理解标度行为 )。
  3. 可用的CPU-- Available中的资源直接耦合到为Available函数提供的内存量(更多细节请参见配置Lambda函数 )。因此,增加内存Lambda函数的可用量,也增加了可用的CPU资源.
  4. 我建议你使用1中的建议,找出你的Lambda函数中长的是什么,如果它仍然需要很长的时间,问一个单独的问题。
票数 4
EN

Stack Overflow用户

发布于 2018-07-08 15:16:50

显然,问题是io问题,而不是CPU问题。lambda函数的VPC设置是错误的。

此外,我不确定“cpu- sure”节点模块是否可以使用lambda容器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51231366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档