Condividi tramite


Esportare i risultati dei test da Test di carico di Azure per l'uso in strumenti di terze parti

Questo articolo illustra come esportare i risultati e i report del test di carico di Azure. È possibile scaricare i risultati usando il portale di Azure, come artefatto nel flusso di lavoro CI/CD, in JMeter usando un listener back-end, in Locust usando hook di eventi o plug-in del listener o copiando i risultati da un account di archiviazione di Azure. È possibile usare questi risultati per la creazione di report in strumenti di terze parti o per la diagnosi degli errori di test. Test di carico di Azure genera i risultati del test in formato di file con valori delimitati da virgole (CSV) e fornisce i dettagli di ogni richiesta dell'applicazione per il test di carico.

È anche possibile usare i risultati del test per diagnosticare gli errori durante un test di carico. I campi responseCode e responseMessage forniscono ulteriori informazioni sulle richieste non riuscite. Per altre informazioni sull'analisi degli errori, vedere Diagnosticare i test di carico non riusciti.

È possibile generare il dashboard di Apache JMeter dal file di log CSV seguendo i passaggi indicati qui.

È anche possibile scaricare il dashboard dei risultati dei test di carico di Azure come report HTML per la visualizzazione offline e la collaborazione.

Prerequisiti

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

Formato del file dei risultati del test

Test di carico di Azure genera un file CSV dei risultati dei test per ogni istanza del motore di test. Informazioni su come aumentare il numero di istanze del test di carico.

Test di carico di Azure usa il formato di log CSV di Apache JMeter. Per altre informazioni sui diversi campi, vedere il glossario di JMeter nella documentazione di Apache JMeter.

È possibile trovare i dettagli di ogni richiesta di applicazione per l'esecuzione del test di carico nel file dei risultati del test. Il frammento di codice seguente mostra un risultato di test di esempio:

timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,sentBytes,grpThreads,allThreads,URL,Latency,IdleTime,Connect
1676040230680,104,Homepage,200,OK,172.18.33.7-Thread Group 1-5,text,true,,1607,133,5,5,https://www.example.com/,104,0,100
1676040230681,101,Homepage,200,OK,172.18.33.7-Thread Group 1-3,text,true,,1591,133,5,5,https://www.example.com/,101,0,93
1676040230680,101,Homepage,200,OK,172.18.33.7-Thread Group 1-1,text,true,,1591,133,5,5,https://www.example.com/,98,0,94

Accedere e scaricare i risultati e il report dei test di carico

Al termine dell'esecuzione di un test di carico, è possibile accedere e scaricare i risultati del test di carico e il report HTML tramite il portale di Azure o come artefatto nel flusso di lavoro CI/CD.

Importante

Per i test di carico con più di 45 istanze del motore o una durata di esecuzione dei test superiore a 3 ore, il file dei risultati non è disponibile per il download. È possibile configurare un listener back-end JMeter per esportare i risultati in un archivio dati di propria scelta o copiare i risultati da un contenitore dell'account di archiviazione. Per i test con campionatori maggiori di 30, il report HTML scaricato includerà solo grafici per i dati aggregati su tutti i campionatori. I grafici non mostreranno dati per campionamento. Inoltre, il report scaricato non supporta i grafici corrispondenti alle metriche lato server.

Per scaricare i risultati del test e il report HTML per un'esecuzione dei test nel portale di Azure:

  1. Nel portale di Azure, passare alla risorsa di Azure Load Testing.

  2. Nel riquadro sinistro selezionare Test per visualizzare un elenco di test e quindi selezionare il test.

    Screenshot che mostra l'elenco dei test per una risorsa di Test di carico di Azure.

    Suggerimento

    Per limitare il numero di test da visualizzare nell'elenco, è possibile usare la casella di ricerca e il filtro intervallo di tempo.

  3. È possibile scaricare il file dei risultati del test come cartella compressa in uno dei due modi seguenti:

    • Selezionare i puntini di sospensione (...) accanto all'esecuzione del test di carico in uso e quindi selezionare Scarica file dei risultati.

      Screenshot che mostra come scaricare il file dei risultati per un'esecuzione del test di carico.

      Annotazioni

      Per rendere il file dei risultati disponibile per il download, è necessario che l'esecuzione di un test di carico abbia uno stato Fatto, Arrestato o Non riuscito.

    • Selezionare Scarica, nel riquadro dei dettagli dell'esecuzione dei test. Per scaricare i risultati, selezionare Risultati. Per scaricare il report HTML, selezionare Report.

      Screenshot che mostra come scaricare i risultati del test dal riquadro

  4. È possibile usare qualsiasi strumento ZIP per estrarre la cartella e accedere ai file scaricati.

    Screenshot che mostra il file ZIP dei risultati del test nell'elenco dei download.

    La cartella dei risultati contiene un file CSV separato per ogni motore di test e contiene i dettagli delle richieste eseguite dal motore di test durante il test di carico.

    La cartella del report contiene un file HTML che fornisce un riepilogo dell'esecuzione dei test e grafici delle metriche delle prestazioni per la visualizzazione offline e la collaborazione.

Esportare i risultati dei test usando i listener

Per i test basati su JMeter, è possibile usare un listener back-end JMeter per esportare i risultati dei test in database come InfluxDB, MySQL o strumenti di monitoraggio come applicazione Azure Insights.

È possibile usare i listener back-end JMeter predefiniti, i listener back-end di jmeter-plugins.orgo un listener back-end personalizzato sotto forma di file di archivio Java (JAR).

Il frammento di codice seguente illustra un esempio di come usare il listener back-end per applicazione Azure Insights in un file JMeter (JMX):

<BackendListener guiclass="BackendListenerGui" testclass="BackendListener" testname="Backend Listener" enabled="true">
  <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
    <collectionProp name="Arguments.arguments">
      <elementProp name="testName" elementType="Argument">
        <stringProp name="Argument.name">testName</stringProp>
        <stringProp name="Argument.value">jmeter</stringProp>
        <stringProp name="Argument.metadata">=</stringProp>
      </elementProp>
      <elementProp name="connectionString" elementType="Argument">
        <stringProp name="Argument.name">connectionString</stringProp>
        <stringProp name="Argument.value">Enter your AppInsights connection string</stringProp>
        <stringProp name="Argument.metadata">=</stringProp>
      </elementProp>
      <elementProp name="liveMetrics" elementType="Argument">
        <stringProp name="Argument.name">liveMetrics</stringProp>
        <stringProp name="Argument.value">true</stringProp>
        <stringProp name="Argument.metadata">=</stringProp>
      </elementProp>
      <elementProp name="samplersList" elementType="Argument">
        <stringProp name="Argument.name">samplersList</stringProp>
        <stringProp name="Argument.value"></stringProp>
        <stringProp name="Argument.metadata">=</stringProp>
      </elementProp>
      <elementProp name="useRegexForSamplerList" elementType="Argument">
        <stringProp name="Argument.name">useRegexForSamplerList</stringProp>
        <stringProp name="Argument.value">false</stringProp>
        <stringProp name="Argument.metadata">=</stringProp>
      </elementProp>
      <elementProp name="logResponseData" elementType="Argument">
        <stringProp name="Argument.name">logResponseData</stringProp>
        <stringProp name="Argument.value">OnFailure</stringProp>
        <stringProp name="Argument.metadata">=</stringProp>
      </elementProp>
      <elementProp name="logSampleData" elementType="Argument">
        <stringProp name="Argument.name">logSampleData</stringProp>
        <stringProp name="Argument.value">OnFailure</stringProp>
        <stringProp name="Argument.metadata">=</stringProp>
      </elementProp>
    </collectionProp>
  </elementProp>
  <stringProp name="classname">io.github.adrianmo.jmeter.backendlistener.azure.AzureBackendClient</stringProp>
</BackendListener>

È possibile scaricare l'esempio completo dell'uso del listener back-end di applicazione Azure Insights.

Per i test basati su locuste, è possibile usare hook di eventi o plug-in del listener.

Copiare gli artefatti di test da un contenitore dell'account di archiviazione

Importante

La copia degli artefatti di test da un contenitore dell'account di archiviazione è abilitata solo per i test di carico con più di 45 istanze del motore o con una durata di esecuzione dei test superiore a tre ore.

Per copiare i risultati del test e i file di log per un'esecuzione dei test da un account di archiviazione, nel portale di Azure:

  1. Nel portale di Azure, passare alla risorsa di Azure Load Testing.

  2. Nel riquadro sinistro selezionare Test per visualizzare un elenco di test e quindi selezionare il test.

    Screenshot che mostra l'elenco dei test per una risorsa di Test di carico di Azure.

  3. Nell'elenco delle esecuzioni dei test selezionare l'esecuzione dei test.

    Screenshot che mostra l'elenco delle esecuzioni dei test per un test in una risorsa di test di carico di Azure.

    Suggerimento

    Per limitare il numero di test da visualizzare nell'elenco, è possibile usare la casella di ricerca e il filtro intervallo di tempo.

  4. Nel riquadro Dettagli esecuzione test, selezionare Copia artefatti.

    Screenshot che mostra come copiare gli artefatti di test dal riquadro 'Dettagli esecuzione test'.

    Annotazioni

    Per rendere il file dei risultati disponibile per il download, è necessario che l'esecuzione di un test di carico sia nello stato Fatto, Arrestato o Non riuscito.

  5. Copiare l'URL di firma di accesso condiviso del contenitore dell'account di archiviazione.

    È possibile usare l'URL di firma di accesso condiviso nel Azure Storage Explorer o AzCopy per copiare i file CSV dei risultati e i file di log per l'esecuzione dei test nell'account di archiviazione.

    L'URL di firma di accesso condiviso è valido per 60 minuti dal momento in cui viene generato. Se l'URL scade, selezionare Copia artefatti per generare un nuovo URL di firma di accesso condiviso.