Parametri di utilizzo del servizio Amazon ECS - Amazon Elastic Container Service

Parametri di utilizzo del servizio Amazon ECS

I parametri di utilizzo del servizio sono disponibili per CPU, memoria e, quando è presente un volume EBS collegato alle attività, per l'utilizzo del file system EBS. I parametri a livello di servizio sono supportati per i servizi con processi ospitati su istanze Amazon EC2 e Fargate.

Utilizzo della CPU e della memoria a livello di servizio

L'utilizzo di CPU e memoria è misurato come la percentuale di CPU e memoria utilizzata dai processi di Amazon ECS che appartengono a un servizio in un cluster rispetto alla CPU e alla memoria specificate nella definizione di attività del servizio.

Quando visualizzi questi parametri in CloudWatch, puoi scegliere diverse statistiche:

  • Media: l'utilizzo medio di tutte le attività del servizio, calcolato utilizzando la formula seguente.

  • Minimo: l'utilizzo dell'attività con il minor uso di risorse nel servizio, che rappresenta la percentuale di CPU o memoria utilizzata dall'attività che richiede meno risorse rispetto a quella specificata nella definizione dell'attività.

  • Massimo: l'utilizzo dell'attività con il massimo uso di risorse nel servizio, che rappresenta la percentuale di CPU o memoria utilizzata dall'attività che richiede più risorse rispetto a quella specificata nella definizione dell'attività.

Le seguenti formule mostrano come viene calcolata la statistica Media:

(Total CPU units used by tasks in service) x 100 Service CPU utilization = -------------------------------------------------------------- (Total CPU units specified in the task definition) x (Number of tasks in the service)
(Total MiB of memory used by tasks in service x 100) Service memory utilization = ------------------------------------------------------------------ (Total MiB of memory specified in the task definition) x (Number of tasks in the service)
Nota

Le formule precedenti si applicano solo alla statistica Media. Le statistiche Minimo e Massimo rappresentano la singola attività con rispettivamente il minore e il massimo utilizzo delle risorse, anziché un calcolo aggregato per tutte le attività.

Amazon ECS raccoglie i parametri ogni 20 secondi. Ogni minuto, l'agente di container di Amazon ECS calcola il numero di unità di CPU e MiB di memoria attualmente in uso per ogni processo del servizio. Queste informazioni vengono riportate ad Amazon ECS. Viene calcolata la quantità totale di CPU e memoria utilizzata per tutti i processi di proprietà del servizio in esecuzione nel cluster e tali numeri vengono riportati a CloudWatch come una percentuale delle risorse totali specificate per il servizio nella definizione di attività del servizio. I valori minimo e massimo sono i più piccoli e i più grandi tra i parametri di 20 secondi. La media è l'aggregato dei 3 valori.

Se specifichi un limite flessibile (memoryReservation), viene utilizzato per calcolare la quantità di memoria prenotata. In caso contrario, verrà utilizzato il limite rigido (memory). Per ulteriori informazioni sui limiti rigidi e flessibili, consulta Dimensioni processo.

Ad esempio, la definizione di attività per un servizio specifica un totale di 512 unità di CPU e 1.024 MiB di memoria (con il parametro memory di limite rigido) per tutti i suoi container. Il servizio dispone di un conteggio desiderato di 1 attività in esecuzione, il servizio è in esecuzione in un cluster con 1 istanza di container c4.large (con 2.048 unità di CPU e 3.768 MiB di memoria totale) e non sono presenti altre attività in esecuzione nel cluster. Anche se l'attività specifica 512 unità di CPU, perché è l'unica attività in esecuzione in un'istanza di container con 2.048 unità di CPU, può utilizzare fino a quattro volte la quantità specificata (2.048/512). Tuttavia, la memoria specificata di 1.024 MiB è un limite insuperabile, perciò in questo caso, l'utilizzo della memoria di servizio non può superare il 100%.

Se l'esempio precedente utilizzasse il parametro memoryReservation di limite flessibile anziché il parametro memory di limite rigido, le attività del servizio potrebbero utilizzare una quantità superiore a 1.024 MB di memoria, in base alle necessità. In questo caso, l'utilizzo della memoria di servizio di utilizzo potrebbe superare il 100%.

Se l'applicazione ha un improvviso picco nell'utilizzo della memoria per un breve periodo di tempo, l'utilizzo della memoria del servizio non aumenta perché Amazon ECS raccoglie più punti dati ogni minuto e li aggrega in un punto dati inviato a CloudWatch.

Se questa attività esegue un lavoro a uso intensivo di CPU per un periodo e utilizza tutte le 2.048 unità di CPU e tutti i 512 MiB di memoria disponibili, il servizio segnala il 400% di utilizzo di CPU e il 50% di utilizzo di memoria. Se l'attività è inattiva e l'utilizzo di 128 unità di CPU e 128 MiB di memoria, il servizio segnala il 25% di utilizzo di CPU e il 12,5% di utilizzo della memoria.

Nota

In questo esempio, l'utilizzo della CPU supererà il 100% solo quando le unità CPU sono definite a livello di container. Se definisci le unità CPU a livello di processo, l'utilizzo non supererà il limite definito a livello di processo.

Utilizzo del file system EBS a livello di servizio

L'utilizzo del file system EBS a livello di servizio viene misurato come il totale del file system EBS in uso nei processi che appartengono al servizio, diviso il totale dell'archiviazione del file system EBS allocato per tutti i processi che appartengono al servizio.

Conteggio dei processi RUNNING del servizio

Puoi utilizzare i parametri di CloudWatch per visualizzare il numero di processi nei servizi che si trovano nello stato RUNNING. Ad esempio, puoi impostare un allarme CloudWatch per questo parametro affinché segnali se il numero di processi in esecuzione nel servizio è inferiore a un valore specificato.

Numero di attività di servizio RUNNING in Amazon ECS CloudWatch Container Insights

Il parametro "Numero di attività in esecuzione" (RunningTaskCount) è disponibile per cluster e per servizio quando si utilizza Amazon ECS CloudWatch Container Insights. Container Insights può essere utilizzato per tutti i nuovi cluster creati scegliendo l'impostazione dell'account containerInsights, su singoli cluster attivandolo mediante le impostazioni del cluster durante la creazione del cluster o su cluster esistenti utilizzando l'API UpdateClusterSettings. I parametri raccolti da CloudWatch Container Insights vengono fatturati come parametri personalizzati. Per ulteriori informazioni sui prezzi di CloudWatch, consulta Prezzi di CloudWatch.

Per visualizzare questo parametro, consulta Parametri di Container Insights per Amazon ECS nella Guida per l'utente di Amazon CloudWatch.