VPC澄清中的AWS Lambda ENI限制

弗拉迪斯拉夫·乌申科

我在lambda的AWS官方文档中找到了这一点

如果您的Lambda函数访问VPC,则必须确保您的VPC具有足够的ENI容量以支持Lambda函数的扩展要求。您可以使用以下公式大致确定ENI要求。

预计的峰值并发执行*(以GB / 3GB的内存为单位)

我了解此公式背后的原因。我唯一的问题是:为什么要3GB?这个数字来自哪里?

迈克尔-SQLbot

预计峰值并发执行次数×(以GB / 3GB的内存为单位) ”公式可以回答实际(但没有说过)的问题:“ Lambda需要分配多少个m类(通用)EC2实例才能容纳所需数量的这种大小的容器?”

AWS Lambda通过使用与通用Amazon EC2实例类型(例如M3类型)相同的比率来分配与内存成比例的CPU能力。

https://docs.aws.amazon.com/lambda/latest/dg/resource-model.html

比率是“相同的”,因为M3或与之非常相似的东西是Lambda在引擎盖下实际用来存放容器的东西。

m3.medium是m3系列中最小的计算机,并具有3.75GB的RAM ...因此,lambda将需要提供的此类EC2 VM的数量-因此将需要的ENI的数量-是大约N×(M / 3GB)。该实例可以托管(例如)大约2×1.5 GB或24×128 MB或1×3.0 GB容器,从而为VM内的操作/管理开销留出一些空间。

Lambda黑盒的一部分可能涉及多少开销,Lambda在放置和选择容器时使用的算法,以及Lambda是否使用实例大小的混合以及在什么规则下……。逻辑将指示Lambda将以较小的实例开始,并随着并发性的增长而发展为较大的实例,因为较大的实例(在同一系列中)将允许更高的打包效率而不会造成性能损失(因为内存和CPU是专用的,且固定的比率) ,到每个容器),特别是对于大型和奇特尺寸的容器。什么这个公式表明,它不是容器接收ENIS而是实例......会有大约在并发由拉姆达分配N×(M / 3GB)实例n大小为m GB。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章