AWS Lambda ENI ограничение в уточнении VPC - PullRequest
0 голосов
/ 19 февраля 2019

Я нашел это в официальных документах AWS для lambda :

Если ваша функция Lambda получает доступ к VPC, вы должны убедиться, что ваш VPC имеет достаточную емкость ENI для поддержкитребования к масштабу вашей лямбда-функции.Вы можете использовать следующую формулу для приблизительного определения требований ENI.

Прогнозируемые пиковые одновременные выполнения * (Память в ГБ / 3 ГБ)

Я понимаю причину этой формулы.Мой единственный вопрос: почему 3 ГБ?Откуда этот номер?

Ответы [ 2 ]

0 голосов
/ 19 февраля 2019

Формула Прогнозируемое пиковое число одновременных выполнений × (Память в ГБ / 3 ГБ) является прокси-сервером для ответа на актуальный (но невысказанный) вопрос «Сколько экземпляров m-класса (общего назначения) EC2 будетLambda нужно выделить для размещения необходимого количества контейнеров такого размера? "

AWS Lambda распределяет мощность ЦП, пропорциональную памяти, используя то же соотношение, что и тип экземпляра Amazon EC2 общего назначения,например, тип M3.

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

Соотношение «одинаковое», потому что M3 ... или что-то очень похожее на него - это то, что есть лямбдана самом деле используется под капотом для размещения ваших контейнеров.

m3.medium - это самая маленькая машина из семейства m3 и имеет 3,75 ГБ ОЗУ ... так что число этого типа виртуальной машины EC2, которое является лямбдапотребуется предоставить - и, следовательно, количество необходимых ENI - составляет приблизительно n × (м / 3ГБ).Этот экземпляр может содержать (например) приблизительно 2 × 1,5 ГБ или 24 × 128 МБ или контейнеры 1 × 3,0 ГБ, оставляя некоторое пространство для оперативных / управленческих накладных расходов внутри ВМ.

Сколько может потребоваться служебных расходов, иалгоритм, который Lambda использует при размещении и выборе контейнеров, и то, использует ли Lambda сочетание размеров экземпляров и по каким правилам ... все они являются частью черного ящика Lambda.Логика будет диктовать, что Lambda будет начинать с меньших экземпляров и переходить к более крупным по мере роста параллелизма, поскольку большие экземпляры (в пределах одного семейства) позволят повысить эффективность упаковки без снижения производительности (поскольку память и ЦП выделены в фиксированном соотношении).к каждому контейнеру), особенно для больших контейнеров и контейнеров странного размера.Что эта формула показывает, что не контейнеры получают ENI, а экземпляров ... и будет выделено приблизительно n × (м / 3 ГБ) экземпляровпо лямбда под параллелизмом n размером m GB.

0 голосов
/ 19 февраля 2019

3ГБ - максимальное выделение памяти для одной лямбда-функции.https://docs.aws.amazon.com/lambda/latest/dg/limits.html

...