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à.
Considerazioni di natura progettuale
Questa sezione descrive importanti decisioni di progettazione e opzioni di configurazione per la soluzione Distributed Load Testing on AWS, incluse le applicazioni supportate, i tipi di test, le opzioni di pianificazione e le considerazioni sulla distribuzione.
Applicazioni supportate
Questa soluzione supporta il test di applicazioni basate su cloud e applicazioni locali purché sia disponibile la connettività di rete dal tuo account AWS all'applicazione. La soluzione supporta l'utilizzo APIs di protocolli HTTP o HTTPS.
Tipi di test
Distributed Load Testing su AWS supporta diversi tipi di test: semplici test degli endpoint HTTP JMeter, K6 e Locust.
Semplici test degli endpoint HTTP
La console Web fornisce un'interfaccia di configurazione degli endpoint HTTP che consente di testare qualsiasi endpoint HTTP o HTTPS senza scrivere script personalizzati. È possibile definire l'URL dell'endpoint, selezionare il metodo HTTP (GET, POST, PUT, DELETE, ecc.) da un menu a discesa e, facoltativamente, aggiungere intestazioni di richiesta e payload body personalizzati. Questa configurazione consente di eseguire test APIs con token di autorizzazione personalizzati, tipi di contenuto o qualsiasi altra intestazione HTTP e corpo di richiesta richiesto dall'applicazione.
JMeter test
Quando si crea uno scenario di test utilizzando la console Web, è possibile caricare uno script JMeter di test. La soluzione carica lo script nel bucket S3 degli scenari. Quando le attività di Amazon ECS vengono eseguite, scaricano lo JMeter script da S3 ed eseguono il test.
Importante
Sebbene JMeter lo script possa definire concorrenza (utenti virtuali), tassi di transazione (TPS), tempi di accelerazione e altri parametri di caricamento, la soluzione sostituirà queste configurazioni con i valori specificati nella schermata Traffic Shape durante la creazione del test. La configurazione Traffic Shape controlla il numero di attività, la concorrenza (utenti virtuali per attività), la durata dell'accelerazione e la durata di attesa per l'esecuzione del test.
Se disponi JMeter di file di input, puoi comprimere i file di input insieme allo script. JMeter È possibile scegliere il file zip quando si crea uno scenario di test.
Se desideri includere dei plugin, tutti i file.jar inclusi in una sottodirectory /plugins nel file zip fornito in bundle verranno copiati nella directory delle JMeter estensioni e saranno disponibili per il test di carico.
Nota
Se JMeter includi file di input nel file di JMeter script, devi includere il percorso relativo dei file di input nel file di script. JMeter Inoltre, i file di input devono trovarsi nel percorso relativo. Ad esempio, se i file JMeter di input e il file di script si trovano invece in/home/user directory and you refer to the input files in the JMeter script file, the path of input files must be ./INPUT_FILES. If you use /home/user/INPUT_FILES, il test avrà esito negativo perché non sarà in grado di trovare i file di input.
Se includete JMeter dei plugin, i file.jar devono essere raggruppati in una sottodirectory denominata /plugins all'interno della radice del file zip. Rispetto alla radice del file zip, il percorso dei file jar deve essere. /plugins/bundled_plugin.jar.
Test K6
La soluzione supporta i test basati sul framework K6. K6 è rilasciato con licenza AGPL-3.0.
Importante
Sebbene lo script K6 possa definire concorrenza (utenti virtuali), fasi, soglie e altri parametri di carico, la soluzione sostituirà queste configurazioni con i valori specificati nella schermata Traffic Shape durante la creazione del test. La configurazione Traffic Shape controlla il numero di attività, la concorrenza (utenti virtuali per attività), la durata di avvio e la durata di attesa per l'esecuzione del test.
Test Locust
La soluzione supporta i test basati sul framework Locust. È possibile caricare il file di test Locust insieme a tutti i file di input necessari in un file di archivio.
Importante
Sebbene lo script Locust possa definire la concorrenza (conteggio utenti), la frequenza di spawn e altri parametri di caricamento, la soluzione sostituirà queste configurazioni con i valori specificati nella schermata Traffic Shape durante la creazione del test. La configurazione Traffic Shape controlla il numero di attività, la concorrenza (utenti virtuali per attività), la durata di avvio e la durata di attesa per l'esecuzione del test.
Pianificazione dei test
La soluzione offre tre opzioni di tempistica di esecuzione per l'esecuzione dei test di carico:
-
Esegui ora: esegue il test di carico subito dopo la creazione
-
Esegui una volta: esegui il test in una data e un'ora specifiche future
-
Esegui secondo una pianificazione: crea test ricorrenti utilizzando le espressioni cron per definire la pianificazione
Quando si seleziona Esegui una volta, si specifica il tempo di esecuzione nel formato a 24 ore e la data di esecuzione in cui deve iniziare l'esecuzione del test di carico.
Quando selezioni Esegui su una pianificazione, puoi inserire manualmente un'espressione cron o selezionare uno dei modelli cron più comuni (ad esempio ogni ora, ogni giorno a un'ora specifica, nei giorni feriali o mensili). L'espressione cron utilizza un formato di pianificazione preciso con campi per minuti, ore, giorno del mese, mese, giorno della settimana e anno. È inoltre necessario specificare una data di scadenza, che definisce quando l'esecuzione del test programmato deve cessare. Per ulteriori informazioni su come funziona la pianificazione, consulta la sezione Flusso di lavoro di pianificazione dei test di questa guida.
Nota
-
Durata del test: durante la pianificazione, considera la durata totale dei test. Ad esempio, il completamento di un test con un tempo di accelerazione di 10 minuti e un tempo di attesa di 40 minuti richiederà circa 80 minuti.
-
Intervallo minimo: assicurati che l'intervallo tra i test programmati sia più lungo della durata stimata del test. Ad esempio, se il test dura circa 80 minuti, programmalo in modo che venga eseguito con una frequenza non superiore a ogni 3 ore.
-
Limitazione oraria: il sistema non consente di programmare i test con una differenza di solo un'ora, anche se la durata stimata del test è inferiore a un'ora.
Test simultanei
Questa soluzione crea una CloudWatch dashboard Amazon per ogni test che mostra l'output combinato di tutte le attività in esecuzione nel cluster Amazon ECS in tempo reale. La CloudWatch dashboard mostra il tempo di risposta medio, il numero di utenti simultanei, il numero di richieste riuscite e il numero di richieste non riuscite. La soluzione aggrega ogni metrica al secondo e aggiorna la dashboard ogni minuto.
Gestione degli utenti
Durante la configurazione iniziale, fornisci un nome utente e un indirizzo e-mail che Amazon Cognito utilizza per concederti l'accesso alla console web della soluzione. La console non fornisce l'amministrazione degli utenti. Per aggiungere altri utenti, devi utilizzare la console Amazon Cognito. Per ulteriori informazioni, consulta la sezione Gestione degli utenti nei pool di utenti nella Amazon Cognito Developer Guide.
Per la migrazione degli utenti esistenti ai pool di utenti di Amazon Cognito, consulta il blog di AWS Approaches for migrating users to Amazon Cognito
Implementazione regionale
Questa soluzione utilizza Amazon Cognito, disponibile solo in regioni AWS specifiche. Pertanto, è necessario distribuire questa soluzione in una regione in cui è disponibile Amazon Cognito. Per la disponibilità dei servizi più aggiornata per regione, consulta l'AWS Regional Services List