New user sign up using AWS Builder ID
New user sign up using AWS Builder ID is currently unavailable on re:Post. To sign up, please use the AWS Management Console instead.
Come posso risolvere i problemi di latenza elevata nelle mie richieste API Gateway integrate con Lambda?
I tempi di risposta sono lenti quando effettuo richieste a un'API di Amazon API Gateway integrata con una funzione AWS Lambda. Desidero stabilire la causa della latenza elevata.
Risoluzione
Quando l'endpoint di un'API integrata con una funzione Lambda impiega troppo tempo per inviare risposte a un client, è necessario risolvere il problema della latenza elevata. Esamina le metriche di API Gateway per scoprire quale sezione del flusso di richieste/risposte causa la latenza elevata. Dopo aver determinato la causa della latenza elevata, puoi cercare un modo per ridurre i ritardi.
Filtra le metriche di CloudWatch per esaminare quelle relative alla latenza sull'API
Per identificare la sezione del flusso di richieste/risposte che causa la latenza elevata, inizia dai seguenti passaggi:
- Osserva la latenza del client dopo l'invio di una richiesta all'API.
- Una volta annotata la latenza complessiva, apri la console Amazon CloudWatch. Nel pannello di navigazione, scegli Metriche, Tutte le metriche. Nella casella di ricerca delle metriche, inserisci ApiGateway. Dai risultati della ricerca, scegli API Gateway, APIID.
- Nell'elenco delle API, filtra l'API specificata utilizzando l'ID o il nome dell’API. Dopo aver filtrato, seleziona le caselle di controllo IntegrationLatency e Latency.
Nota: l'ID e il nome dell’API sono disponibili nella console API Gateway. - Scegli la scheda Metriche con grafici. Per Statistica, scegli Massimo. Per Periodo, scegli 1 minuto. Sopra il grafico, seleziona il periodo di tempo Personalizzato. Scegli l'intervallo di tempo durante il quale il client ha riscontrato una latenza elevata.
- Esamina entrambe le metriche IntegrationLatency e Latency. Quando questi parametri hanno valori elevati, prendi nota di valori e timestamp. I valori possono spiegare la causa della latenza elevata.
Confronta le metriche per identificare la causa della latenza elevata
Continua a esaminare le metriche relative al flusso di richieste/risposte per individuare la causa della latenza elevata:
- Confronta la metrica Latency di API Gateway con il valore di latenza complessivo osservato sul client.
Per esempio, un'API ha una metrica Latency con un valore Massimo approssimativamente uguale al valore Max Latency del client. Questi valori suggeriscono che il ritardo massimo nel flusso di richieste/risposta corrisponde al tempo impiegato da API Gateway per elaborare le richieste. Il tempo di elaborazione di API Gateway include il tempo impiegato per inviare richieste a Lambda, attendere le risposte da Lambda e inviare le risposte a un client. - Confronta la metrica IntegrationLatency ** con la metrica Latency per l'API.
Per esempio, la metrica ** IntegrationLatency è approssimativamente uguale alla metrica Latency. Questi valori indicano che la latenza dell'API è causata principalmente dalle richieste di back-end inviate a Lambda che impiegano più tempo per la risposta. La metrica IntegrationLatency include il tempo che intercorre tra il momento in cui API Gateway invia una richiesta e quello in cui API Gateway riceve una risposta dal back-end. - Quando la metrica IntegrationLatency è bassa rispetto alla metrica Latency per l'API, i tempi di risposta del back-end sono bassi. In questo scenario, l'elaborazione delle richieste o delle risposte API richiede più tempo.
Ad esempio, i modelli di mappatura configurati nell'API o in un sistema di autorizzazione API Gateway Lambda potrebbero entrambi creare ritardi. - Quando la metrica Latency per l'API è molto inferiore alla latenza osservata sul client, il percorso potrebbe causare ritardi. Esamina il percorso tra il client e API Gateway per confermare se ci sono endpoint intermedi che stanno aggiungendo ritardi.
Per esempio, le connessioni VPN private o i proxy potrebbero creare ritardi.
Visualizza le metriche Lambda per identificare la causa di una metrica IntegrationLatency elevata
Infine, concentrati sulle metriche Lambda relative al flusso di richieste/risposte per individuare la causa di una metrica IntegrationLatency elevata:
- Controlla la metrica Duration della funzione Lambda per confermare se il tempo di esecuzione della funzione Lambda è più lungo. Se il tempo di esecuzione della funzione Lambda è aumentato, esamina il log di CloudWatch per trovare la sezione di codice che causa una latenza elevata. Per impostazione predefinita, le funzioni Lambda registrano le istruzioni START, END e REPORT nei log di CloudWatch. Aggiungi istruzioni di registrazione personalizzate in ogni sezione logica del codice della funzione Lambda per ottenere log dettagliati di CloudWatch.
- Se la metrica Duration non è cambiata durante il periodo di latenza elevata del client, determina se il tempo di inizializzazione è aumentato. Il tempo di inizializzazione in una funzione Lambda equivale al tempo impiegato per configurare l'ambiente di esecuzione per elaborare una richiesta. Le richieste provenienti da API Gateway potrebbero richiedere un nuovo ambiente per l'elaborazione. Questa impostazione viene effettuata tramite Lambda. In genere, il codice presente all'esterno del gestore di funzioni Lambda viene eseguito durante il periodo di inizializzazione. Il completamento di un codice che richiede più tempo può causare ritardi nei tempi complessivi di risposta al client.
Nota: il tempo di inizializzazione è noto come INIT o avvio a freddo. - Verifica l’eventuale aumento di Duration del tempo di inizializzazione verificando le istruzioni del report nei log delle funzioni Lambda. Un tempo di inizializzazione elevato per alcune richieste può causare un aumento della metrica ** IntegrationLatency** per API Gateway.
Informazioni correlate
Utilizzo delle metriche per API HTTP
Dimensioni e metriche di Amazon API Gateway
Monitoraggio dell'esecuzione delle API WebSocket con le metriche di CloudWatch

Contenuto pertinente
- AWS UFFICIALEAggiornata 8 mesi fa
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata 2 anni fa