Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Configurazione della simultaneità riservata per una funzione
In Lambda, la simultaneità è il numero di richieste in transito che la funzione sta gestendo attualmente. Sono disponibili due tipi di controlli di simultaneità:
-
Simultaneità riservata: rappresenta il numero massimo di istanze simultanee allocate alla funzione. Quando una funzione ha la simultaneità riservata, nessun'altra funzione può utilizzare tale simultaneità. La simultaneità riservata è utile per garantire che le funzioni più critiche abbiano sempre una simultaneità sufficiente per gestire le richieste in arrivo. La configurazione della simultaneità riservata per una funzione non comporta alcun addebito ulteriore.
-
Simultaneità fornita: il numero di ambienti di esecuzione pre-inizializzati che desideri allocare alla funzione. Questi ambienti di esecuzione sono pronti a rispondere immediatamente alle richieste di funzioni in arrivo. La simultaneità fornita è utile per ridurre le latenze di avvii a freddo per le funzioni. La configurazione della simultaneità fornita comporta ulteriori addebiti sul tuo Account AWS.
In questo argomento viene descritta in dettaglio la modalità gestire e configurare la simultaneità riservata. Per una panoramica concettuale di questi due tipi di controlli della simultaneità, consulta la sezione Simultaneità riservata e simultaneità fornita. Per informazioni sulla configurazione della simultaneità fornita, consulta la sezione Configurazione della simultaneità fornita per una funzione.
Nota
Le funzioni Lambda collegate a uno strumento di mappatura dell'origine degli eventi Amazon MQ hanno una simultaneità massima predefinita. Per Apache Active MQ, il numero massimo di istanze simultanee è 5. Per Rabbit MQ, il numero massimo di istanze simultanee è 1. L'impostazione della simultaneità sottoposta a provisioning o riservata per la funzione non modifica questi limiti. Per richiedere un aumento della simultaneità massima predefinita quando si utilizza Amazon MQ, contatta Supporto.
Sections
Configurazione della simultaneità riservata
È possibile configurare le simultaneità fornita per una funzione utilizzando la console Lambda o l'API Lambda.
Riserva della simultaneità per una funzione (console)
Aprire la pagina Functions (Funzioni)
della console Lambda. -
Scegli la funzione per la quale desideri prenotare la simultaneità.
-
Scegliere Configuration (Configurazione) e quindi scegliere Concurrency (Simultaneità).
-
In Concurrency (Concorrenza), scegliere Edit (Modifica).
-
Scegliere Reserve concurrency (Impegna concorrenza). Inserire la quantità di simultaneità da riservare per la funzione.
-
Seleziona Salva.
Puoi prenotare fino al valore di Simultaneità dell'account non riservata meno 100. Le restanti 100 unità di simultaneità sono destinate a funzioni che non utilizzano la simultaneità riservata. Ad esempio, se l'account ha un limite di simultaneità di 1.000, non puoi utilizzare tutte le 1.000 unità di simultaneità per una singola funzione.
La riserva della simultaneità per una funzione può influire sul pool di simultaneità disponibile per altre funzioni. Ad esempio, se riservi 100 unità di simultaneità per function-a
, le altre funzioni del tuo account devono condividere le 900 unità di simultaneità rimanenti, anche se function-a
non utilizza tutte le 100 unità di simultaneità riservata.
Per limitare intenzionalmente una funzione, imposta la simultaneità riservata su 0. In questo modo, viene interrotta la capacità della funzione di elaborare ulteriori eventi fino a quando il limite non viene rimosso.
Per configurare la simultaneità riservata con l'API Lambda, utilizza le operazioni dell'API seguenti.
Per configurare la simultaneità riservata con l'AWS Command Line Interface (CLI), utilizza il comando put-function-concurrency
. Il comando seguente riserva 100 unità di simultaneità per una funzione denominata my-function
:
aws lambda put-function-concurrency --function-name my-function \ --reserved-concurrent-executions 100
L'output restituito dovrebbe essere simile al seguente:
{ "ReservedConcurrentExecutions": 100 }
Stima accurata della simultaneità riservata richiesta per una funzione
Se la tua funzione attualmente gestire del traffico, puoi facilmente visualizzarne i parametri di simultaneità utilizzando i parametri di CloudWatch. In particolare, il parametro ConcurrentExecutions
mostra il numero di chiamate simultanee per ciascuna funzione del tuo account.
Il grafico precedente mostra che questa funzione gestisce in media da 5 a 10 richieste simultanee in ogni momento e in un giorno tipico raggiunge un massimo di 20 richieste. Supponiamo che nel tuo account siano presenti molte altre funzioni. Se questa funzione è fondamentale per la tua applicazione e non vuoi che alcuna richiesta venga tralasciata, puoi utilizzare un numero uguale a o maggiore di 20 come impostazione della simultaneità riservata.
In alternativa, ricorda che è possibile calcolare la simultaneità anche utilizzando la seguente formula:
Concurrency = (average requests per second) * (average request duration in seconds)
Moltiplicando le richieste medie al secondo per la durata media delle richieste in secondi, si ottiene una stima approssimativa della quantità di simultaneità che è necessario riservare. Puoi stimare le richieste medie al secondo utilizzando il parametro Invocation
e la durata media delle richieste in secondi utilizzando il parametro Duration
. Per ulteriori dettagli, consulta Utilizzo dei parametri di CloudWatch Logs con Lambda.
Devi anche essere esperto dei vincoli di throughput a monte e a valle. Sebbene le funzioni Lambda si dimensioni perfettamente in base al carico, le dipendenze a monte e a valle potrebbero non avere le stesse capacità di throughput. Se devi limitare il valore massimo di scalabilità della tua funzione, puoi configurare la simultaneità riservata sulla funzione.