Considerazioni di natura progettuale - 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à.

Considerazioni di natura progettuale

Applicazioni supportate

Questa soluzione supporta applicazioni basate su cloud e applicazioni locali purché sia disponibile una connessione di rete dal tuo account AWS all'applicazione. La soluzione supporta l'utilizzo APIs di HTTP o HTTPS. Hai anche il controllo sulle intestazioni delle richieste HTTP, quindi puoi aggiungere intestazioni di autorizzazione o personalizzate per passare token o chiavi API.

JMeter supporto per script

Quando si crea uno scenario di test utilizzando l'interfaccia utente (UI) di questa soluzione, è possibile utilizzare uno script di JMeter test. Dopo aver selezionato il file di JMeter script, questo viene caricato nel bucket <stack-name>-scenariosbucket Amazon Simple Storage Service (Amazon S3). Quando le attività di Amazon Elastic Container Service (Amazon ECS) sono in esecuzione, lo script viene scaricato dal bucket Amazon S3 <stack-name>-scenariosbucket e JMeter il test viene eseguito.

Se disponi di file JMeter di input, puoi comprimerli 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.

Per ulteriori informazioni su come utilizzare gli script, consulta il Manuale dell'utente. JMeter JMeter

Supporto per script K6

La soluzione supporta i test basati sul framework K6. K6 è rilasciato con licenza AGPL-3.0. La soluzione visualizza un messaggio di conferma della licenza quando si crea un nuovo test per K6. Il file di test K6 insieme a tutti i file di input necessari possono essere inclusi in un file di archivio e caricati per lo scenario di test utilizzando l'opzione di caricamento.

Supporto per script Locust

La soluzione supporta i test basati sul framework Locust. Il file di test Locust insieme a tutti i file di input necessari possono essere inclusi in un file di archivio e caricati per lo scenario di test utilizzando l'opzione di caricamento.

Pianificazione dei test

Puoi pianificare i test da eseguire in date future o utilizzare l'opzione Esegui ora. È possibile pianificare un test come esecuzione unica in futuro o impostare un test ricorrente in cui specificare una data di prima esecuzione e una ricorrenza pianificata. Le opzioni per la ricorrenza includono: giornaliera, settimanale, bisettimanale e mensile. Per ulteriori informazioni su come funziona la pianificazione, consulta la sezione Flusso di lavoro di pianificazione dei test di questa guida.

A partire dalla versione 3.3.0, Distributed Load Testing on AWS consente agli utenti di pianificare test di carico utilizzando espressioni cron. Seleziona Run on Schedule e poi la scheda CRON per inserire manualmente un valore cron o utilizzare i campi a discesa. cronExpiryDate Deve corrispondere alla data di esecuzione del test pianificata. Controlla le date della prossima esecuzione (UTC) per confermare la tua pianificazione.

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 non più di 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 include una CloudWatch dashboard Amazon per ogni test e visualizza l'output combinato di tutte le attività in esecuzione per quel test 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. Ogni metrica viene aggregata al secondo e la dashboard viene aggiornata 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 user pool.

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.