Compartilhar via


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

Neste artigo, você aprenderá a exportar seus relatórios e resultados de teste do 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. Você pode usar esses resultados para relatórios 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.

Você também pode baixar o painel de resultado do Teste de Carga do Azure como um relatório HTML para exibição e colaboração offline.

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 os resultados e o relatório do teste de carga

Depois que uma execução de teste de carga for concluída, você poderá acessar e baixar os resultados do teste de carga e o relatório HTML 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 testes com exemplos maiores que 30, o relatório HTML baixado terá apenas grafos para dados agregados em todas as amostras. Os grafos não mostrarão dados de amostragem. Além disso, o relatório baixado não dá suporte a grafos correspondentes às métricas do lado do servidor.

Para baixar os resultados do teste e o relatório HTML 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.

    Captura de tela que mostra a lista de testes de um recurso de Teste de Carga do Azure.

    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.

      Captura de tela que mostra como baixar o arquivo de resultados de uma execução de teste de carga.

      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.

    • Selecione Baixar no painel de detalhes da execução de teste. Para baixar os resultados, selecione Resultados. Para baixar o relatório HTML, selecione Relatório.

      Captura de tela que mostra como baixar os resultados do teste no painel 'Detalhes da execução de teste'.

  4. Você pode usar qualquer ferramenta zip para extrair a pasta e acessar os arquivos baixados.

    Captura de tela que mostra o arquivo zip dos resultados do teste.

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

    A pasta de relatório contém um arquivo HTML que fornece um resumo da execução de teste e grafos das métricas de desempenho para exibição e colaboração offline.

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.

    Captura de tela que mostra a lista de testes de um recurso de Teste de Carga do Azure.

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

    Captura de tela que mostra a lista de execuções de teste para um teste em um recurso do Teste de Carga do Azure.

    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.

    Captura de tela que mostra como copiar os artefatos de teste do painel

    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.