Diagnosticare gli errori di test di carico nei test di carico di Azure

Questo articolo illustra come diagnosticare e risolvere i problemi relativi ai test di carico non superati in Test di carico di Azure. Test di carico di Azure offre diverse opzioni per identificare la causa radice di un test di carico non riuscito. Ad esempio, è possibile usare il dashboard del test di carico o scaricare i risultati del test o i file di log di test per un'analisi approfondita. In alternativa, configurare le metriche lato server per identificare i problemi con l'endpoint dell'applicazione.

Test di carico di Azure usa due indicatori per determinare il risultato di un test di carico:

  • Stato test: indica se il test di carico è stato in grado di avviare correttamente ed eseguire lo script di test fino alla fine. Ad esempio, lo stato del test è Non riuscito se si verifica un errore nello script di test di JMeter o se il listener di avvio automatico ha interrotto il test di carico perché troppe richieste non sono riuscite.

  • Risultato del test: indica il risultato della valutazione dei criteri di esito negativo del test. Se è stato soddisfatto almeno uno dei criteri di esito negativo del test, il risultato del test è impostato su Non riuscito.

A seconda dell'indicatore, è possibile usare un approccio diverso per identificare la causa radice di un errore di test.

Prerequisiti

  • Un account Azure con una sottoscrizione attiva. Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
  • Una risorsa di test di carico di Azure con un'esecuzione di test completata. Se è necessario creare una risorsa di test di carico di Azure, vedere Creare ed eseguire un test di carico.

Determinare il risultato di un test di carico

Per ottenere il risultato di un test di carico, seguire questa procedura:

  1. Nella portale di Azure e passare alla risorsa di test di carico.

  2. Selezionare Test nel riquadro sinistro per visualizzare l'elenco dei test.

  3. Selezionare un test dall'elenco per visualizzare tutte le esecuzioni di test per tale test.

    L'elenco delle esecuzioni di test mostra i campi Risultato test e Stato test.

    Screenshot that shows the list of test runs in the Azure portal, highlighting the test result and test status columns.

  4. In alternativa, selezionare un'esecuzione di test per visualizzare il dashboard del test di carico per l'esecuzione del test.

    Screenshot that shows the load test dashboard, highlighting status information for a failed test.

Diagnosticare gli errori di test

È possibile usare un approccio diverso per diagnosticare un errore di test di carico in base al fatto che Test di carico di Azure sia stato in grado di eseguire e completare o meno lo script di test.

Test di carico non completato

Quando il test di carico non viene completato, lo stato del test dell'esecuzione del test è impostato su Non riuscito.

Il completamento di un test di carico può non riuscire a causa di diversi motivi. Esempi del motivo per cui un test di carico non viene completato:

  • Sono presenti errori nello script di test di JMeter.
  • Lo script di test usa le funzionalità di JMeter non supportate da Test di carico di Azure. Informazioni sulle funzionalità di JMeter supportate.
  • Lo script di test fa riferimento a un file o a un plug-in non disponibile nell'istanza del motore di test.
  • La funzionalità autostop ha interrotto il test di carico perché troppe richieste hanno esito negativo e la frequenza degli errori supera la soglia. Altre informazioni sulla funzionalità di caricamento automatico in Test di carico di Azure.

Seguire questa procedura per diagnosticare un test che non termina:

  1. Verificare i dettagli dell'errore nel dashboard del test di carico.
  2. Scaricare e analizzare i log di test per identificare i problemi nello script di test di JMeter.
  3. Scaricare i risultati del test per identificare i problemi relativi alle singole richieste.

Test di carico completato

Un test di carico potrebbe eseguire lo script di test fino alla fine (lo stato del test è Completato), ma potrebbe non superare tutti i criteri di esito negativo del test. Se almeno uno dei criteri di test non è stato superato, il risultato del test dell'esecuzione del test è impostato su Non riuscito.

Usare la procedura seguente per diagnosticare un test che non soddisfa i criteri di test:

  1. Esaminare i criteri di esito negativo del test nel dashboard del test di carico.
  2. Esaminare le statistiche del campionatore nel dashboard del test di carico per identificare ulteriormente le richieste nello script di test che potrebbero causare un problema.
  3. Esaminare le metriche lato client nel dashboard del test di carico. Facoltativamente, è possibile filtrare i grafici per una richiesta specifica usando i controlli filtro.
  4. Scaricare i risultati del test per ottenere informazioni sugli errori per singole richieste.
  5. Verificare le metriche di integrità del motore di test per identificare possibili conflitti di risorse nei motori di test.
  6. Facoltativamente, aggiungere componenti dell'app e monitorare le metriche lato server per identificare i colli di bottiglia delle prestazioni per l'endpoint dell'applicazione.

Scaricare i log di lavoro di Apache JMeter per il test di carico

Quando si esegue un test di carico, i motori di test di Test di carico di Azure eseguono lo script di test di Apache JMeter. Durante il test di carico, Apache JMeter archivia la registrazione dettagliata nei log dei nodi di lavoro. È possibile scaricare questi log di lavoro di JMeter per ogni esecuzione di test nel portale di Azure. Test di carico di Azure genera un log di lavoro per ogni istanza del motore di test.

Nota

Test di carico di Azure registra solo i messaggi di log con WARN o ERROR livello nei log del ruolo di lavoro.

Ad esempio, se si verifica un problema con lo script JMeter, lo stato del test di carico è Non riuscito. Nei log del ruolo di lavoro potrebbero essere disponibili informazioni aggiuntive sulla causa del problema.

Per scaricare i log di lavoro per un'esecuzione di test di Test di carico di Azure, seguire questa procedura:

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

  2. Selezionare Test per visualizzare l'elenco dei test e quindi selezionare il test di carico dall'elenco.

  3. Nell'elenco delle esecuzioni di test selezionare un'esecuzione di test per visualizzare il dashboard del test di carico.

  4. Nel dashboard selezionare Scarica e quindi selezionare Log.

    Il browser dovrebbe ora iniziare a scaricare una cartella compressa che contiene il file di log del nodo di lavoro JMeter per ogni istanza del motore di test.

    Screenshot that shows how to download the test log files from the test run details page.

  5. È possibile usare qualsiasi strumento ZIP per estrarre la cartella e accedere ai file di log.

    Il file worker.log consente di diagnosticare la causa radice di un test di carico non riuscito. Nello screenshot è possibile notare che il test non è riuscito a causa di un file mancante.

    Screenshot that shows the JMeter log file content.