Configurare la memoria di una funzione Lambda - AWS Lambda

Configurare la memoria di una funzione Lambda

Lambda alloca la potenza della CPU in proporzione alla quantità di memoria configurata. Memory (Memoria) indica la quantità di memoria disponibile per la funzione Lambda in fase di runtime. È possibile aumentare o diminuire la memoria e la potenza della CPU assegnate alla funzione utilizzando l'impostazione Memoria. È possibile configurare memoria compresa tra 128 MB e 10.240 MB in incrementi di 1 MB. A 1.769 MB, una funzione ha l'equivalente di una vCPU (un vCPU-secondo di crediti al secondo).

In questa pagina viene descritto come e quando aggiornare l'impostazione della memoria per una funzione Lambda.

Determinazione dell'impostazione di memoria appropriata per una funzione Lambda

La memoria è la leva principale per controllare le prestazioni di una funzione. L'impostazione predefinita, 128 MB, è l'impostazione più bassa possibile. Ti consigliamo di utilizzare 128 MB solo per funzioni Lambda semplici, come quelle che trasformano e instradano gli eventi verso altri servizi AWS. Una allocazione maggiore della memoria può migliorare le prestazioni per le funzioni che utilizzano librerie importate, livelli Lambda, Amazon Simple Storage Service (Amazon S3) o Amazon Elastic File System (Amazon EFS). L'aggiunta di più memoria aumenta proporzionalmente la quantità di CPU, aumentando la potenza di calcolo complessiva disponibile. Se una funzione è collegata alla CPU, alla rete o alla memoria, l'aumento dell'impostazione della memoria può migliorarne notevolmente le prestazioni.

Per trovare la giusta configurazione della memoria per le funzioni, è consigliabile usare lo strumento open source AWS Lambda Power Tuning. Questo strumento utilizza AWS Step Functions per eseguire più versioni simultanee di una funzione Lambda con diverse allocazioni di memoria e misurare le prestazioni. La funzione di input viene eseguita nel tuo account AWS ed esegue chiamate HTTP in tempo reale e interazioni con SDK, per misurare le probabili prestazioni in uno scenario di produzione live. Puoi anche implementare un processo CI/CD per utilizzare questo strumento per misurare automaticamente le prestazioni delle nuove funzioni che vengono implementate.

Configurazione della memoria delle funzioni (console)

È possibile configurare la memoria della funzione nella console Lambda.

Per aggiornare la memoria di una funzione
  1. Aprire la pagina Functions (Funzioni) della console Lambda.

  2. Scegliere una funzione.

  3. Seleziona la scheda Configurazione, quindi scegli Configurazione generale.

    La scheda Configurazione nella console Lambda.
  4. In Configurazione generale, scegli Modifica.

  5. Per Memoria, impostare un valore compreso tra 128 MB e 10.240 MB.

  6. Seleziona Salva.

Configurazione della memoria delle funzioni (AWS CLI)

Per configurare la memoria della tua funzione, puoi usare il comando update-function-configuration.

aws lambda update-function-configuration \ --function-name my-function \ --memory-size 1024

Configurazione della memoria delle funzioni (AWS SAM)

Per configurare la memoria per la tua funzione, puoi usare AWS Serverless Application Model. Aggiorna la proprietà MemorySize nel file template.yaml e poi esegui sam deploy.

Esempio template.yaml
AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: An AWS Serverless Application Model template describing your function. Resources: my-function: Type: AWS::Serverless::Function Properties: CodeUri: . Description: '' MemorySize: 1024 # Other function properties...

Accettazione dei suggerimenti relativi alla memoria delle funzioni (console)

Se si dispone delle autorizzazioni di amministratore in AWS Identity and Access Management (IAM), si può scegliere di ricevere suggerimenti sull'impostazione della memoria della funzione Lambda da AWS Compute Optimizer. Per istruzioni su come attivare i suggerimenti sulla memoria per il proprio account o la propria organizzazione, consultare Accettazione delle opzioni nell'account nella Guida per l'utente di AWS Compute Optimizer.

Nota

Compute Optimizer supporta solo le funzioni che utilizzano l'architettura x86_64.

Dopo avere accettato le opzioni e se la funzione Lambda soddisfa i requisiti del Sistema di ottimizzazione del calcolo, puoi visualizzare e accettare i suggerimenti sulla memoria della funzione del Sistema di ottimizzazione del calcolo nella console Lambda in Configurazione generale.