Come posso risolvere il problema dell'utilizzo elevato della CPU da parte della mia attività Amazon ECS dopo aver sostituito le istanze di container?
Ho sostituito le istanze di container con volumi crittografati nel mio Amazon Elastic Container Service (Amazon ECS). Ora la mia attività ha un utilizzo elevato della CPU.
Risoluzione
Nota: se riscontri un utilizzo elevato della CPU in AWS Fargate, consulta Come posso risolvere i problemi di utilizzo elevato della CPU in un'attività Amazon ECS su Fargate?
Visualizza i log degli eventi del servizio Amazon ECS
Controlla nei log degli eventi e nelle metriche del servizio Amazon ECS se sono presenti messaggi relativi alla CPU.
Visualizza l'utilizzo della CPU per l'istanza di container
Completa i seguenti passaggi:
- Apri la console Amazon ECS.
- Nel pannello di navigazione, scegli Cluster, quindi seleziona il cluster.
- Scegli la scheda Infrastruttura.
- Inserisci l'ID dell'istanza Amazon Elastic Compute Cloud (Amazon EC2) nella barra di ricerca, quindi seleziona l'istanza.
Nota: questa azione apre la console Amazon EC2. - Scegli la scheda Monitoraggio, quindi controlla nella scheda Uso della CPU (%) le metriche di utilizzo della CPU dell'istanza di container.
Visualizza l'utilizzo della CPU per il servizio Amazon ECS
Utilizza la console Amazon ECS per controllare le metriche del servizio e la CPU media e massima per Amazon ECS.
Nota: per visualizzare le metriche della CPU relative alle attività di Amazon ECS, devi attivare Approfondimenti sui container per il cluster Amazon ECS esistente. Per informazioni sulle metriche disponibili, consulta le metriche in Approfondimenti sui container Amazon ECS.
Visualizza le metriche del bilanciatore del carico
Controlla le metriche delle richieste del bilanciatore del carico per determinare se l'utilizzo elevato della CPU si verifica in presenza di un picco nel traffico degli utenti in entrata. Per un Network Load Balancer, seleziona il namespace NetworkELB in Metriche, quindi scegli Per LB per visualizzare le metriche ActiveFlowCount e NewFlowCount. Se utilizzi un Application Load Balancer, controlla la metrica ActiveConnectionCount.
Verifica il sovraccarico della crittografia
Se attivi la crittografia per i volumi Amazon Elastic Block Store (Amazon EBS), il processo di crittografia e decrittografia può causare un utilizzo elevato della CPU.
Per verificare se l'utilizzo elevato della CPU è dovuto al sovraccarico della crittografia, confronta le metriche della CPU e dell'applicazione prima e dopo la modifica della crittografia del volume EBS.
Assicurati che le attività Amazon ECS abbiano la corretta allocazione delle risorse
Controlla i log dell'applicazione per determinare se le attività eseguono operazioni che richiedono un utilizzo intensivo della CPU. Per inviare i log di un'applicazione a CloudWatch, consulta Esempio di definizione di attività Amazon ECS: indirizza i log verso CloudWatch.
Assicurati di aver allocato le risorse di CPU e memoria corrette alle attività Amazon ECS. Se l'utilizzo della CPU è costantemente elevato, dimensiona orizzontalmente le attività per il servizio Amazon ECS.
Se il dimensionamento orizzontale non risolve il problema, aumenta le unità CPU allocate nella ](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#task_size)definizione dell'attività[ per dimensionare verticalmente le attività del servizio Amazon ECS.
Ottimizza il codice dell'applicazione
Per analizzare ed eseguire il debug delle applicazioni distribuite, utilizza strumenti come AWS X-Ray. Traccia il percorso della richiesta mentre attraversa i servizi, le funzioni e le risorse dell'applicazione. Per ulteriori informazioni, consulta Strumentazione della tua applicazione per AWS X-Ray.
- Argomenti
- Containers
- Lingua
- Italiano
