View a markdown version of this page

Esegui uno scenario di test - Test di carico distribuito su AWS

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à.

Esegui uno scenario di test

Dopo aver creato uno scenario di test, è possibile eseguirlo immediatamente o programmarne l'esecuzione in un momento specifico nel futuro. Quando si passa a un test in esecuzione, la console visualizza la scheda Dettagli dello scenario con lo stato delle attività e le metriche in tempo reale.

Visualizzazione dei dettagli dello scenario

La scheda Dettagli dello scenario mostra le informazioni chiave sul test. La tabella sullo stato dell'attività mostra informazioni in tempo reale per ogni regione.

Tabella di stato dell'attività

La tabella Stato dell'attività mostra le informazioni in tempo reale per ciascuna regione:

  • Regione: la regione AWS in cui vengono eseguite le attività

  • Task Counts: il numero totale di attività configurate per la regione

  • Concorrenza: il numero di utenti virtuali per attività

  • In esecuzione: numero di attività che attualmente eseguono il test

  • In sospeso: numero di attività in attesa di avvio

  • Assegnazione del provisioning: numero di attività assegnate

Workflow di esecuzione del test

All'avvio di un test, si verifica il seguente flusso di lavoro:

  1. Provisioning delle attività: la soluzione fornisce contenitori (attività) nelle regioni AWS specificate. Le attività vengono visualizzate nella colonna «Provisioning».

  2. Avvio delle attività: la soluzione continua a eseguire il provisioning delle attività fino al raggiungimento del numero di attività target in ciascuna regione. Le attività passano da «Provisioning» a «Pending» a «Esecution».

  3. Generazione di traffico: dopo aver eseguito il provisioning di tutte le attività in una regione, la soluzione inizia a inviare traffico all'endpoint di destinazione.

  4. Esecuzione del test: il test viene eseguito per la durata configurata (avvio + tempo di attesa).

  5. Analisi dei risultati: al termine del test, un processo di analisi in background aggrega ed elabora i risultati di tutte le regioni.

Stati di esecuzione del test

Le esecuzioni dei test possono avere i seguenti stati:

  • Pianificato: l'esecuzione del test è pianificata in futuro.

  • In esecuzione: il test è attualmente in corso.

  • Annullato: un utente ha annullato un'esecuzione del test in corso.

  • Errore: durante l'esecuzione del test si è verificato un errore.

  • Completato: l'esecuzione del test è stata completata con successo e i risultati sono pronti.

Monitoraggio con dati in tempo reale

Se hai abilitato i dati in tempo reale durante la creazione dello scenario di test, puoi visualizzare le metriche in tempo reale mentre il test è in esecuzione. La sezione Metriche in tempo reale mostra quattro grafici che si aggiornano continuamente man mano che il test procede, con dati aggregati a intervalli di un secondo.

Grafici delle metriche in tempo reale che mostrano i dati sulle prestazioni dei test in tempo reale

Descrizioni dei grafici

Tempo medio di risposta

Visualizza il tempo medio di risposta in secondi per le richieste elaborate da ciascuna regione. Y-axis Mostra il tempo di risposta in secondi e X-axis mostra l'ora del giorno. Ogni regione è rappresentata da un colore diverso nella legenda.

Utenti virtuali

Mostra il numero di utenti virtuali simultanei che generano attivamente il carico in ciascuna regione. Il grafico mostra come gli utenti virtuali aumentano durante il test e mantiene il livello di concorrenza target.

Richieste riuscite

Visualizza il conteggio cumulativo delle richieste riuscite nel tempo per ciascuna regione. Il grafico mostra la frequenza con cui vengono elaborate le richieste riuscite.

Richieste non riuscite

Mostra il conteggio cumulativo delle richieste non riuscite nel tempo per ciascuna regione. Un numero basso o nullo indica che il test è stato eseguito correttamente.

Multi-Region visualizzazione

Quando si eseguono test su più regioni, ogni grafico mostra i dati per tutte le regioni contemporaneamente. La legenda nella parte inferiore di ogni grafico identifica il colore che rappresenta ciascuna regione (ad esempio, us-west-2 e us-east-1).

Implementazione tecnica

Il gruppo di CloudWatch log per le attività di Fargate contiene un filtro di abbonamento che raccoglie i risultati dei test. Quando viene rilevato il pattern, una funzione Lambda struttura i dati e li pubblica in un argomento AWS IoT Core. La console web sottoscrive questo argomento e visualizza le metriche in tempo reale.

Nota

I dati in tempo reale sono effimeri e disponibili solo durante l'esecuzione del test. La console web mantiene un massimo di 5.000 punti dati, dopodiché i dati più vecchi vengono sostituiti con i più recenti. Se la pagina si aggiorna, i grafici saranno vuoti e inizieranno dal successivo punto dati disponibile. Una volta completato il test, la soluzione archivia i dati dei risultati in DynamoDB e Amazon S3. Se non sono ancora disponibili dati, nei grafici viene visualizzato il messaggio «Non ci sono dati disponibili».

Annullamento di un test

È possibile annullare un test in esecuzione dalla console web. Quando si annulla un test, si verifica il seguente flusso di lavoro:

  1. La richiesta di annullamento viene inviata all'microservicesAPI

  2. L'microservicesAPI chiama la funzione task-canceler Lambda che interrompe tutte le attività attualmente avviate

  3. Se la funzione task-runner Lambda continua a funzionare dopo la chiamata di annullamento iniziale, le attività potrebbero continuare a essere avviate brevemente

  4. Al termine della funzione task-runner Lambda, AWS Step Functions procede alla Cancel Test fase, che esegue nuovamente la funzione task-canceler Lambda per interrompere eventuali attività rimanenti

Nota

I test annullati richiedono tempo per completare il processo di spegnimento poiché la soluzione termina tutti i contenitori. Lo stato del test passerà a «Annullato» una volta che tutte le risorse saranno state pulite.