Exportar resultados de teste do Teste de Carga do Azure para uso em ferramentas de terceiros

Neste artigo, você aprenderá a exportar os resultados do teste de Teste de Carga do Azure. Faça download dos resultados usando o portal do Azure, como um artefato no fluxo de trabalho de CI/CD, no JMeter usando um ouvinte de back-end ou copiando os resultados de uma conta de armazenamento do Azure. Use estes resultados para relatar em ferramentas de terceiros ou para diagnosticar falhas de teste. O Teste de Carga do Azure gera os resultados do teste no formato de arquivo CSV (valores separados por vírgulas) e fornece detalhes de cada solicitação de aplicativo para o teste de carga.

Você também pode usar os resultados de teste para diagnosticar erros durante um teste de carga. Os campos responseCode e responseMessage fornecem mais informações sobre solicitações com falha. Para obter mais informações sobre como investigar erros, consulte Diagnosticar testes de carga com falha.

Você pode gerar o painel do Apache JMeter no arquivo de log CSV seguindo as etapas mencionadas aqui.

Pré-requisitos

  • Uma conta do Azure com uma assinatura ativa. Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
  • Um recurso do Teste de Carga do Azure com uma execução de teste concluída. Se você precisar criar um recurso de Teste de Carga do Azure, confira Criar e executar um teste de carga.

Formato de arquivo de resultados de teste

O Teste de Carga do Azure gera um arquivo CSV de resultados de teste para cada instância do mecanismo de teste. Saiba como é possível escalar horizontalmente seu teste de carga.

O Teste de Carga do Azure usa o formato de log CSV do Apache JMeter. Para obter mais informações sobre os diferentes campos, consulte o Glossário JMeter na documentação do Apache JMeter.

Encontre os detalhes de cada solicitação de aplicativo para a execução do teste de carga no arquivo de resultados do teste. O snippet a seguir mostra uma amostra de resultado de teste:

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

Acessar e baixar resultados do teste de carga

Após concluir uma execução de teste de carga, você poderá acessar e fazer download dos resultados do teste de carga por meio do portal do Azure ou como um artefato no fluxo de trabalho de CI/CD.

Importante

Para testes de carga com mais de 45 instâncias de mecanismo ou uma duração de execução de teste maior que 3 horas, o arquivo de resultados não está disponível para download. É possível configurar um Ouvinte de Back-end do JMeter para exportar os resultados, para um armazenamento de dados de sua escolha ou copiar os resultados de um contêiner de conta de armazenamento.

Para fazer download dos resultados do teste para uma execução de teste no portal do Azure:

  1. No portal do Azure, acesse seu recurso de Teste de Carga do Azure.

  2. No painel esquerdo, selecione Testes para exibir uma lista de testes e selecione seu teste.

    Screenshot that shows the list of tests for an Azure Load Testing resource.

    Dica

    Para limitar o número de teste exibidos na lista, você pode usar a caixa de pesquisa e o filtro Intervalo de tempo.

  3. Você pode baixar o arquivo de resultados do teste como uma pasta compactada de duas maneiras:

    • Selecione as reticências (...) ao lado da execução de teste de carga com que está trabalhando e selecione Baixar arquivo de resultados.

      Screenshot that shows how to download the results file for a load test run.

      Observação

      Uma execução de teste de carga precisa ter o status Concluído, Parado ou Falha para que o arquivo de resultados seja disponibilizado para download.

    • No painel Detalhes da execução de teste, selecione Baixar e Resultados.

      Screenshot that shows how to download the test results from the 'Test run details' pane.

  4. Você pode usar qualquer ferramenta de zip para extrair a pasta e acessar os resultados do teste.

    Screenshot that shows the test results zip file in the downloads list.

    A pasta contém um arquivo CSV separado para cada mecanismo de teste e contém detalhes das solicitações executadas pelo mecanismo de teste durante o teste de carga.

Exportar resultados de teste usando ouvintes de back-end do JMeter

Use um ouvinte de back-end do JMeter para exportar resultados de teste para bancos de dados como InfluxDB, MySQL ou ferramentas de monitoramento, como o Azure Application Insights.

Use os ouvintes de back-end do JMeter padrão, os ouvintes de back-end do jmeter-plugins.org ou um ouvinte de back-end personalizado na forma de um arquivo JAR (arquivos Java).

O snippet de código a seguir mostra um exemplo de como usar o ouvinte de back-end para o Azure Application Insights, em um arquivo do 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>

É possível fazer download do exemplo completo de como usar o ouvinte de back-end do Azure Application Insights.

Copiar artefatos de teste de um contêiner de conta de armazenamento

Importante

A cópia de artefatos de teste de um contêiner de conta de armazenamento só está habilitada para testes de carga com mais de 45 instâncias do mecanismo ou com uma duração de execução de teste maior que três horas.

Para copiar os resultados do teste e os arquivos de log para uma execução de teste de uma conta de armazenamento, no portal do Azure:

  1. No portal do Azure, acesse seu recurso de Teste de Carga do Azure.

  2. No painel esquerdo, selecione Testes para exibir uma lista de testes e selecione seu teste.

    Screenshot that shows the list of tests for an Azure Load Testing resource.

  3. Na lista de execuções de teste, selecione sua execução de teste.

    Screenshot that shows the list of test runs for a test in an Azure Load Testing resource.

    Dica

    Para limitar o número de teste exibidos na lista, você pode usar a caixa de pesquisa e o filtro Intervalo de tempo.

  4. No painel Detalhes da execução de teste, selecione Copiar artefatos.

    Screenshot that shows how to copy the test artifacts from the 'Test run details' pane.

    Observação

    Uma execução de teste de carga precisa estar no status Concluído, Parado ou Com falha, para que o arquivo de resultados seja disponibilizado para download.

  5. Copie o URL da SAS do contêiner da conta de armazenamento.

    Use o URL da SAS no Gerenciador de Armazenamento do Azure ou no AzCopy, para copiar os arquivos de CSV de resultados e os arquivos de log para a execução do teste em sua conta de armazenamento.

    O URL da SAS é válido por 60 minutos a partir do momento em que é gerada. Se o URL expirar, selecione Copiar artefatos para gerar um novo URL da SAS.