gpt4 book ai didi

amazon-web-services - AWS Lambda 函数需要的内存超过 CloudWatch 中报告的最大内存

转载 作者:行者123 更新时间:2023-12-04 12:47:04 30 4
gpt4 key购买 nike

我有一个 Lambda 函数,它从 SQS 队列中读取消息并将项目插入 Dynamo。起初,我有 512MB 的内存。在云 watch 中,它报告使用的最大内存约为 58MB。我假设我可以将内存降低到 128MB,并看到相同的处理 SQS 消息的速率。然而,事实并非如此。事情明显放缓。谁能解释一下?

这是云 watch ,显示最大内存为 512MB Lambda: enter image description here

这是显示最大内存为 128MB Lambda 的云 watch : enter image description here

这里可以看到Dynamo表的容量真的下降了 enter image description here

在这里您可以看到正在处理的消息数量确实变慢了,较低的斜率就是证据 enter image description here

最佳答案

这似乎违反直觉,但有一个合乎逻辑的解释:

减少内存也会减少可用的 CPU 周期。您需要为短期使用 EC2 实例的固定部分资源付费,该实例具有固定的 CPU 与内存比率。

Q: How are compute resources assigned to an AWS Lambda function?

In the AWS Lambda resource model, you choose the amount of memory you want for your function, and are allocated proportional CPU power and other resources. For example, choosing 256MB of memory allocates approximately twice as much CPU power to your Lambda function as requesting 128MB of memory and half as much CPU power as choosing 512MB of memory. You can set your memory in 64MB increments from 128MB to 1.5GB.

https://aws.amazon.com/lambda/faqs/

那么,我们谈论的 CPU 容量是多少?

AWS Lambda allocates CPU power proportional to the memory by using the same ratio as a general purpose Amazon EC2 instance type, such as an M3 type.

http://docs.aws.amazon.com/lambda/latest/dg/lambda-introduction-function.html

我们可以推断。

在 M3 类中,无论实例大小如何,配置因素如下所示:

CPU = Xeon E5-2670 v2 (Ivy Bridge) × 8 cores
Relative Compute Performance = 26 ECU
Memory = 30 GiB

ECU 是一个 EC2(或可能是“弹性”或“等效”)计算单元,其中 1.0 ECU 大约相当于 1GHz Opteron 的计算能力。它是一个无量纲量,用于简化不同实例类型的相对 CPU 容量的比较。

所以供应比率看起来像这样:

8/30 Cores/GiB
26/30 ECU/GiB

因此在 512 MiB 内存下,您的 Lambda 函数容器在这台机器上的份额将是...

8 ÷ 30 ÷ (1024/512) = 0.133 of 1 core (~13.3% CPU)
26 ÷ 30 ÷ (1024/512) = 0.433 ECU (~433 MHz equivalent)

在 128 MiB 时,它只有大约 1/4。

这些数字看起来确实很小,但它们并非不适合典型的 Lambda 用例——非 CPU 密集型的单线程、异步操作。

关于amazon-web-services - AWS Lambda 函数需要的内存超过 CloudWatch 中报告的最大内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43970225/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com