Avvio rapido: Creare ed eseguire un test di carico con Test di carico di Azure

In questo argomento di avvio rapido si testerà un'applicazione Web creando un test basato su URL con test di carico di Azure nel portale di Azure. Con un test basato su URL, è possibile creare un test di carico senza conoscere in precedenza gli strumenti di test di carico o gli script. Usare l'esperienza portale di Azure per configurare un test di carico specificando le richieste HTTP.

Per creare un test di carico basato su URL, seguire questa procedura:

  1. Creare una risorsa test di carico di Azure
  2. Specificare l'endpoint dell'applicazione Web e i parametri di configurazione di caricamento di base.
  3. Facoltativamente, aggiungere altri endpoint HTTP.

Dopo aver completato questa guida introduttiva, si avrà una risorsa e un test di carico che è possibile usare per altre esercitazioni.

Prerequisiti

Quale problema risolveremo?

Prima di distribuire un'applicazione, assicurarsi che l'applicazione possa supportare il carico previsto. È possibile usare i test di carico per simulare il traffico utente verso l'applicazione e assicurarsi che l'applicazione soddisfi i requisiti. La simulazione del carico potrebbe richiedere una configurazione complessa dell'infrastruttura. Inoltre, gli sviluppatori potrebbero non avere familiarità con gli strumenti di test di carico e la sintassi di script di test.

In questa guida introduttiva si crea un test di carico per l'endpoint dell'applicazione usando Test di carico di Azure. È possibile configurare il test di carico aggiungendo richieste HTTP per l'applicazione interamente nel portale di Azure, senza conoscere gli strumenti di test di carico e lo scripting.

Creare una risorsa test di carico di Azure

Creare prima di tutto la risorsa di primo livello per Test di carico di Azure. Offre una posizione centralizzata per visualizzare e gestire piani di test, risultati dei test e artefatti correlati.

Se si dispone già di una risorsa di test di carico, ignorare questa sezione e continuare a Creare un test di carico.

Per creare una risorsa di test di carico:

  1. Accedere al portale di Azure usando le credenziali della sottoscrizione di Azure.

  2. Nel menu del portale di Azure o dalla pagina Home selezionare Crea una risorsa.

  3. Nella pagina Marketplace cercare e selezionare Test di carico di Azure.

  4. Nel riquadro Test di carico di Azure selezionare Crea.

  5. Nella pagina Crea una risorsa test di carico immettere le informazioni seguenti:

    Campo Descrizione
    Abbonamento Selezionare la sottoscrizione di Azure che si vuole usare per questa risorsa test di carico di Azure.
    Gruppo di risorse Selezionare un gruppo di risorse esistente. In alternativa, selezionare Crea nuovo e quindi immettere un nome univoco per il nuovo gruppo di risorse.
    Nome Immettere un nome univoco per identificare la risorsa test di carico di Azure.
    Il nome non può contenere caratteri speciali, ad esempio \/"[]:|<>+=;,?*@&o spazi vuoti. Il nome non può iniziare con un carattere di sottolineatura (_) e non può terminare con un punto (.) o un trattino (-). La lunghezza deve essere da 1 a 64 caratteri.
    Location Selezionare una posizione geografica per ospitare la risorsa test di carico di Azure.
    Questo percorso determina anche da dove sono ospitati i motori di test e da cui provengono le richieste client JMeter.

    Nota

    Facoltativamente, è possibile configurare altri dettagli nella scheda Tag . I tag sono coppie nome/valore che consentono di classificare le risorse e visualizzare la fatturazione consolidata applicando lo stesso tag a più risorse e gruppi di risorse.

  6. Al termine della configurazione della risorsa, selezionare Rivedi e crea.

  7. Esaminare le impostazioni specificate e quindi selezionare Crea. La creazione dell'account richiede alcuni minuti. Attendere che la pagina del portale visualizzi il completamento della distribuzione prima di procedere.

  8. Per visualizzare la nuova risorsa, selezionare Vai alla risorsa.

    Screenshot that shows the deployment completion screen.

  9. Facoltativamente, gestire l'accesso alla risorsa test di carico di Azure.

    Test di carico di Azure usa il controllo degli accessi in base al ruolo per gestire le autorizzazioni per la risorsa. Se viene visualizzato questo messaggio, l'account non dispone delle autorizzazioni necessarie per gestire i test.

    Screenshot that shows an error message in the Azure portal that you're not authorized to use the Azure Load Testing resource.

Creare un test di carico

Test di carico di Azure consente di creare rapidamente un test di carico dal portale di Azure specificando l'URL dell'applicazione Web di destinazione e i parametri di test di carico di base. Il servizio astrae la complessità della creazione dello script di test di carico e del provisioning dell'infrastruttura di calcolo.

Per creare un test di carico per un endpoint Web:

  1. Passare alla pagina Panoramica della risorsa test di carico di Azure.

  2. Nella scheda Attività iniziali selezionare Aggiungi richieste>HTTP Crea.

    Screenshot that shows how to create a URL-based test from the resource overview page in the Azure portal.

  3. Nella scheda Informazioni di base immettere i dettagli del test di carico:

    Campo Descrizione
    Nome test Immettere un nome di test univoco.
    Descrizione del test (Facoltativo) Immettere una descrizione del test di carico.
    Eseguire test dopo la creazione Selezionate. Dopo aver salvato il test di carico, il test viene avviato automaticamente.
    Abilitare le impostazioni avanzate lasciare la casella deselezionata. Con le impostazioni avanzate, è possibile aggiungere più richieste HTTP e configurare impostazioni di test di carico più avanzate.
  4. Configurare quindi l'endpoint dell'applicazione e i parametri di test di carico:

    Campo Descrizione
    Test URL Immettere l'URL completo per cui si vuole eseguire il test. Ad esempio: https://www.example.com/products.
    Specificare il carico Selezionare Utenti virtuali per specificare il carico simulato in base a un numero di utenti virtuali di destinazione.
    Numero di utenti virtuali Immettere il numero totale di utenti virtuali da simulare.

    Test di carico di Azure distribuisce il carico simulato in modo uniforme tra istanze del motore di test parallele, con ogni motore che gestisce fino a 250 utenti virtuali. Ad esempio, l'immissione di 400 utenti virtuali comporta due istanze con 200 utenti virtuali ciascuno.
    Durata test (minuti) Immettere la durata del test di carico in minuti.
    Tempo di avvio (minuti) Immettere il tempo di preparazione del test di carico in minuti. Il tempo di avvio è il tempo necessario per raggiungere il numero di utenti virtuali di destinazione.

    In alternativa, selezionare richieste al secondo (RPS) per configurare il carico simulato in base al numero di richieste al secondo.

  5. Selezionare Rivedi e crea per esaminare la configurazione del test di carico e quindi selezionare Crea per avviare il test di carico.

    Screenshot that shows the quick test page in the Azure portal, highlighting the option for specifying virtual users.

Dopo aver salvato il test di carico, Test di carico di Azure genera uno script di test di carico per simulare il traffico verso l'endpoint dell'applicazione. Il servizio effettua quindi il provisioning dell'infrastruttura per simulare il carico di destinazione.

Visualizzare i risultati dei test

Dopo l'avvio del test di carico, si viene reindirizzati al dashboard di esecuzione del test. Mentre il test di carico è in esecuzione, Test di carico di Azure acquisisce sia le metriche lato client che le metriche lato server. In questa sezione si usa il dashboard per monitorare le metriche lato client.

  1. Nel dashboard di esecuzione dei test è possibile visualizzare le metriche sul lato client di streaming durante l'esecuzione del test. Per impostazione predefinita, i dati vengono aggiornati ogni cinque secondi.

    Screenshot that shows results of the load test.

  2. Al termine del test di carico, è possibile visualizzare le statistiche di riepilogo del test di carico, ad esempio le richieste totali, la durata, il tempo medio di risposta, la percentuale di errore e la velocità effettiva.

    Screenshot that shows test run dashboard, highlighting the load test statistics.

  3. Facoltativamente, modificare i filtri di visualizzazione per visualizzare un intervallo di tempo specifico, il percentile dei risultati o il tipo di errore.

    Screenshot that shows the filter criteria for the results of a load test.

Aggiungere richieste a un test di carico

Con Test di carico di Azure è possibile creare un test di carico basato su URL che contiene più richieste. È possibile aggiungere fino a cinque richieste HTTP a un test di carico e usare uno qualsiasi dei metodi HTTP, ad esempio GET, POST e altro ancora.

Per aggiungere una richiesta HTTP al test di carico creato in precedenza:

  1. Nella portale di Azure passare alla risorsa Test di carico di Azure.

  2. Nel riquadro di spostamento sinistro selezionare Test per visualizzare tutti i test.

  3. Selezionare il test dall'elenco selezionando la casella di controllo corrispondente e quindi selezionare Modifica.

    Screenshot that shows the list of tests in the Azure portal, highlighting the Edit button to modify the load test settings.

  4. Nella scheda Informazioni di base selezionare Abilita impostazioni avanzate.

    Con le impostazioni avanzate, è possibile definire più richieste HTTP per un test di carico. Inoltre, è anche possibile configurare criteri di test e parametri di carico avanzati.

    Quando si passa alle impostazioni avanzate, l'URL di test non viene aggiunto automaticamente al test. È necessario aggiungere nuovamente l'URL di test al test di carico.

  5. Passare alla scheda Piano di test e selezionare Aggiungi richiesta per aggiungere una richiesta al test di carico.

  6. Nella pagina Aggiungi richiesta immettere i dettagli della richiesta e quindi selezionare Aggiungi.

    Campo Descrizione
    Formato richiesta Selezionare Aggiungi input nell'interfaccia utente per configurare i dettagli della richiesta tramite i campi nella portale di Azure.
    Request name (Nome richiesta) Immettere un nome univoco per la richiesta. È possibile fare riferimento a questo nome della richiesta quando si definiscono i criteri di esito negativo del test.
    URL URL dell'endpoint dell'applicazione.
    Metodo Selezionare un metodo HTTP dall'elenco. Test di carico di Azure supporta GET, POST, PUT, DELETE, PATCH, HEAD e OPTIONS.
    Parametri di query (Facoltativo) Immettere i parametri della stringa di query da aggiungere all'URL.
    Intestazioni (Facoltativo) Immettere le intestazioni HTTP da includere nella richiesta HTTP.
    Testo (Facoltativo) A seconda del metodo HTTP, è possibile specificare il contenuto del corpo HTTP. Test di carico di Azure supporta i formati seguenti: dati non elaborati, visualizzazione JSON, JavaScript, HTML e XML.

    Screenshot that shows how to add a request to a URL-based load test in the Azure portal.

  7. (Facoltativo) Aggiungere altre richieste al test di carico.

  8. (Facoltativo) Nella scheda Carica configurare i parametri di caricamento.

    Si noti che le impostazioni avanzate consentono di configurare il numero di istanze del motore di test e scegliere tra modelli di carico diversi.

    Screenshot that shows the Load tab when configuring a load test in the Azure portal.

  9. Selezionare Applica per aggiornare la configurazione del test di carico.

  10. Nella pagina Test selezionare il test e quindi selezionare Esegui per eseguire il test di carico con la configurazione aggiornata.

    Si noti che il dashboard di esecuzione test visualizza le metriche per le diverse richieste HTTP nel test di carico. È possibile usare il filtro Richieste per visualizzare solo le metriche per richieste specifiche.

    Screenshot that shows the test results dashboard in the Azure portal, showing the results for the different requests in the load test.

Come abbiamo risolto il problema?

In questa guida introduttiva è stato creato un test di carico basato su URL interamente nel portale di Azure, senza scripting o strumenti di test di carico. Il test di carico è stato configurato aggiungendo richieste HTTP e quindi è stato usato il dashboard del test di carico per analizzare le metriche sul lato client del test di carico e valutare le prestazioni dell'applicazione sottoposta a test. Test di carico di Azure astrae la complessità della configurazione dell'infrastruttura per simulare il carico utente su larga scala per l'applicazione.

È possibile espandere ulteriormente il test di carico per monitorare anche le metriche lato server dell'applicazione sotto carico e specificare le metriche di test fail per ricevere avvisi quando l'applicazione non soddisfa i requisiti. Per garantire che l'applicazione continui a funzionare correttamente, è anche possibile integrare i test di carico come parte del flusso di lavoro di integrazione continua e distribuzione continua (CI/CD).

Pulire le risorse

Importante

È possibile riutilizzare la risorsa test di carico di Azure creata per altre esercitazioni su Test di carico di Azure e articoli sulle procedure.

Se non si prevede di usare alcuna delle risorse create, eliminarle in modo da non comportare ulteriori addebiti. Se l'applicazione di esempio è stata distribuita in un gruppo di risorse diverso, è possibile ripetere i passaggi seguenti.

Per eliminare le risorse usando il portale di Azure:

  1. Selezionare il pulsante del menu nell'angolo superiore sinistro e quindi selezionare Gruppi di risorse.

  2. Nell'elenco selezionare il gruppo di risorse creato.

  3. Selezionare Elimina gruppo di risorse. Screenshot of the selections to delete a resource group in the Azure portal.

  4. Immettere il nome del gruppo di risorse. Quindi seleziona Elimina.

Per eliminare le risorse usando l'interfaccia della riga di comando di Azure, immettere il comando seguente:

az group delete --name <yourresourcegroup>

Tenere presente che l'eliminazione del gruppo di risorse comporta l'eliminazione di tutte le risorse al suo interno.

Passaggio successivo