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à.
Ottimizza i tempi di avvio delle attività di Amazon ECS
Per velocizzare l'avvio delle attività, prendi in considerazione i seguenti consigli.
-
Memorizza nella cache le immagini dei container e le istanze binpack
Se lo utilizzi EC2, puoi configurare il comportamento pull dell'agente container Amazon ECS su
ECS_IMAGE_PULL_BEHAVIOR:prefer-cached. L'immagine viene estratta da remoto se non esiste un'immagine memorizzata nella cache. In caso contrario, viene utilizzata l'immagine memorizzata nella cache dell'istanza. La pulizia automatizzata dell'immagine è disattivata per il container, per avere la certezza che l'immagine memorizzata nella cache non venga rimossa. Ciò riduce il tempo di recupero delle immagini per gli avvii successivi. L'effetto della memorizzazione nella cache è ancora maggiore quando nelle istanze di container è presente un'elevata densità di attività, che è possibile configurare utilizzando la strategia di posizionamentobinpack. La memorizzazione nella cache delle immagini dei container è particolarmente utile per i carichi di lavoro basati su Windows, che di solito hanno immagini container di grandi dimensioni (decine di GBs). Quando utilizzi la strategia di posizionamentobinpackpuoi anche prendere in considerazione l'utilizzo del trunking di Interfaccia di rete elastica (ENI) per collocare più attività con la modalità di reteawsvpcsu ogni istanza di container. Il trunking ENI aumenta il numero di attività che puoi eseguire in modalitàawsvpc. Ad esempio, un'istanza c5.large che può supportare l'esecuzione simultanea di solo 2 attività, può eseguire fino a 10 attività con il trunking ENI. -
Scegli una modalità di rete ottimale
Sebbene ci siano molti casi in cui la modalità di
awsvpcrete è ideale, questa modalità di rete può aumentare intrinsecamente la latenza di avvio delle attività, perché per ogni attività in modalitàawsvpc, i flussi di lavoro di Amazon ECS devono fornire e collegare un ENI richiamando Amazon, EC2 APIs che aggiunge un sovraccarico di diversi secondi all'avvio delle attività. Al contrario, un vantaggio chiave dell'utilizzo della modalità di reteawsvpcè che ogni attività ha un gruppo di sicurezza che consente o nega il traffico. Ciò significa che hai una maggiore flessibilità per controllare le comunicazioni tra attività e servizi a un livello più granulare. Se la tua priorità è la velocità di implementazione, puoi prendere in considerazione l'utilizzo della modalitàbridgeper velocizzare l'avvio delle attività. Per ulteriori informazioni, consulta Assegna un'interfaccia di rete per un'attività su Amazon ECS. -
Tieni traccia del ciclo di vita dell'avvio delle attività per trovare opportunità di ottimizzazione
Spesso è difficile conoscere il tempo necessario per avviare l'applicazione. L'avvio dell'immagine del container, l'esecuzione di script di avvio e altre configurazioni durante l'avvio dell'applicazione possono richiedere una quantità di tempo incredibile. Puoi utilizzare l'endpoint Metadati delle attività per pubblicare parametri per tenere traccia del tempo di avvio dell'applicazione da
StartedAtnella risposta dei metadati del container aStartedAtdell'attività o del servizio. Grazie a questi dati puoi comprendere in che modo l'applicazione contribuisce al tempo totale di avvio e individuare aree in cui puoi ridurre il sovraccarico non necessario specifico dell'applicazione e ottimizzare le immagini del container. Per ulteriori informazioni, consulta Best practice di dimensionamento automatico e gestione della capacità di Amazon ECS. -
Scegli un tipo di istanza ottimale (per) EC2
La scelta del tipo di istanza corretto si basa sulla prenotazione di risorse (ad esempio, CPU, memoria) che configuri per la tua attività. Pertanto, quando ridimensioni l'istanza, puoi calcolare quante attività possono essere posizionate su una singola istanza. Un semplice esempio di attività ben posizionata è l'hosting di 4 attività che richiedono 0,5 vCPU e 2 GB di riserve di memoria in un'istanza m5.large (che supporta 2 vCPU e 8 GB di memoria). Le prenotazioni di questa definizione di attività sfruttano appieno le risorse dell'istanza.