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 delle chiamate o delle richieste alle attività Amazon ECS?
Desidero risolvere i problemi della mia applicazione Amazon Elastic Container Service (Amazon ECS) che risponde lentamente alle richieste.
Breve descrizione
Le seguenti sono le cause più comuni di latenza elevata su un'attività ECS:
- Utilizzo elevato della CPU o della memoria (RAM) nelle attività.
- Problemi con le dipendenze delle applicazioni eseguite all'interno dell'applicazione.
- Grande distanza di rete tra i client o le destinazioni locali e l'attività ECS.
- Problemi di connettività di rete, valori eccessivi.
- Limitazione del volume di Amazon Elastic Block Store (Amazon EBS).
Per esaminare e risolvere questi problemi, prova prima a isolare dove si verifica il ritardo, quindi completa i passaggi di risoluzione.
Risoluzione
Per risolvere i problemi relativi all'elevata latenza della tua attività ECS, completa i seguenti passaggi:
-
Esegui il seguente comando per misurare la risposta del primo byte e verificare la presenza di una risoluzione DNS lenta che potrebbe causare latenza:
% curl -kso /dev/null -w "\n=============== | DNS lookup: %{time_namelookup} | Connect: %{time_connect}| App connect: %{time_appconnect} | Pre-transfer: %{time_pretransfer} | Start transfer: %{time_starttransfer} | Total: %{time_total} | HTTP Code: %{http_code}\n===============\n" https://LOAD_BALANCER_DNS_NAME.com Example output: | DNS lookup: 0.035596 | Connect: 0.063130 | App connect: 0.159145 | Pre-transfer: 0.159264 | Start transfer: 0.190203 | Total: 0.190722 | HTTP Code: 200
Nota: l'esempio di output precedente è espresso come intervalli di tempo in ms. È consigliabile eseguire i test iniziali dall'interno del VPC per ridurre le variabili coinvolte nei diversi percorsi di rete.
-
Quindi bypassa il bilanciatore del carico. Utilizza un indirizzo IP dell'attività per un'attività nota in esecuzione per indirizzare il curl precedente. Questo processo consente di isolare il componente che causa la latenza.
-
Se è disponibile un Application Load Balancer, controlla la statistica media della metrica TargetResponseTime di Amazon CloudWatch per verificare la presenza di valori eccessivi.
Se il valore è elevato, allora hai un problema con le attività o forse una dipendenza dell'applicazione da connessioni esterne. Per ulteriori informazioni, consulta Come posso risolvere un aumento della metrica TargetResponseTime per un Application Load Balancer?
Se sono presenti numerose attività, attiva e rivedi le voci del log degli accessi di Application Load Balancer per identificare le istanze di backend.
-
Per verificare se sono presenti problemi con Application Load Balancer, rivedi i campi request_processing_time e response_processing_time nelle voci di log per periodi di tempo insolitamente elevati. Per ulteriori informazioni, consulta Come posso risolvere i problemi di latenza elevata del mio Application Load Balancer in Elastic Load Balancing?Se esegui un comando curl direttamente sull'indirizzo IP dell'attività e ricevi una risposta lenta, consulta Informazioni sul container CloudWatch.
-
Se l'utilizzo della CPU e della memoria è in media inferiore al 90% senza picchi, verifica le dipendenze dalle attività dell'applicazione che potrebbero causare latenza. Le dipendenze includono chiamate a risorse esterne, come bucket Amazon Simple Storage Service (Amazon S3), database Amazon Relational Database Service (Amazon RDS) o altri servizi web remoti.
-
Se le chiamate esterne fanno parte del flusso di lavoro previsto dell'applicazione, verifica con gli sviluppatori dell'applicazione se sta effettuando chiamate sincrone a dipendenze esterne. Oppure blocca l'applicazione finché non riceve risposte a queste chiamate. Per ulteriori informazioni, consulta Gestisci le chiamate asincrone.
-
Se esegui l'hosting su istanze di container EC2, controlla eventuali volumi e interfacce di rete di Amazon EBS per individuare eventuali segni di sovrautilizzo. Per ulteriori informazioni, consulta Come faccio a risolvere i problemi relativi alle prestazioni dei volumi EBS sulla mia istanza EC2?Se vengono rilevati segnali di limitazione di EBS, rivedi e aumenta la capacità di IOP allocata e il tipo di throughput di EBS. Oppure utilizza un'opzione diversa, come l'archivio dell'istanza o Elastic Fabric Adapter (EFA).
Se rilevi segni di limitazione dell'interfaccia di rete, utilizza un tipo di istanza più grande con una maggiore larghezza di banda di rete. Oppure utilizza un tipo di istanza avanzata di rete che fornisca una base ottimizzata più ampia. Per ulteriori informazioni, consulta Perché la mia istanza Amazon EC2 supera i limiti di rete quando l'utilizzo medio è basso?
-
Se esegui l'hosting su AWS Fargate, controlla le metriche dell'interfaccia di rete con un sidecar container di rete Amazon ECS. Tieni presente che devi eseguire la distribuzione con una nuova definizione di attività per aggiungere un sidecar container.

Contenuto pertinente
- AWS UFFICIALEAggiornata 3 mesi fa
- AWS UFFICIALEAggiornata 9 mesi fa
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata 2 anni fa