Partilhar via


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

Neste artigo, você aprenderá a exportar seus resultados e relatórios de teste do Azure Load Test. Você pode baixar os resultados usando o portal do Azure, como um artefato em seu 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 gerar 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írgula) e fornece detalhes de cada solicitação de aplicativo para o teste de carga.

Você também pode usar os resultados do teste para diagnosticar erros durante um teste de carga. Os responseCode campos 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 a partir do arquivo de log CSV seguindo as etapas mencionadas aqui.

Você também pode baixar o painel 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 subscrição ativa. Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
  • Um recurso de Teste de Carga do Azure que tem uma execução de teste concluída. Se você precisar criar um recurso de Teste de Carga do Azure, consulte 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 você pode dimensionar seu teste de carga.

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

Você pode encontrar os detalhes de cada solicitação de aplicativo para a execução do teste de carga no arquivo de resultados do teste. O trecho a seguir mostra um resultado de teste de amostra:

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

Acesse e baixe os resultados do teste de carga e o relatório

Após a conclusão de uma execução de teste de carga, você pode acessar e baixar os resultados do teste de carga e o relatório HTML por meio do portal do Azure ou como um artefato em seu 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 superior a 3 horas, o arquivo de resultados não está disponível para download. Você pode configurar um JMeter Backend Listener 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 amostradores maiores que 30, o relatório HTML baixado terá apenas gráficos para dados agregados em todos os amostradores. Os gráficos não mostrarão dados amostrais. Além disso, o relatório baixado mostrará apenas gráficos correspondentes às métricas do lado do cliente.

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, vá para seu recurso de Teste de Carga do Azure.

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

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

    Gorjeta

    Para limitar o número de testes a serem 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 (...) junto à execução do teste de carga com que está a trabalhar e, em seguida, selecione Transferir ficheiro de resultados.

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

      Nota

      Uma execução de teste de carga precisa ter um status Concluído, Parado ou Falhado para que o arquivo de resultados esteja disponível para download.

    • Selecione Download no painel 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 do painel 'Detalhes da execução do 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 na lista de downloads.

    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 gráficos das métricas de desempenho para visualização offline e colaboração.

Exportar resultados de teste usando ouvintes de back-end JMeter

Você pode usar um ouvinte de back-end JMeter para exportar resultados de teste para bancos de dados como InfluxDB, MySQL ou ferramentas de monitoramento como Azure Application Insights.

Você pode usar os ouvintes de back-end JMeter padrão, ouvintes de back-end de jmeter-plugins.org ou um ouvinte de back-end personalizado na forma de um arquivo Java archive (JAR).

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

Você pode baixar o exemplo completo de uso do 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ó é habilitada para testes de carga com mais de 45 instâncias de mecanismo ou com uma duração de execução de teste superior a 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, vá para seu recurso de Teste de Carga do Azure.

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

    Captura de tela que mostra a lista de testes para 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 de Teste de Carga do Azure.

    Gorjeta

    Para limitar o número de testes a serem 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 'Detalhes da execução do teste'.

    Nota

    Uma execução de teste de carga precisa estar no status Concluído, Parado ou Falha para que o arquivo de resultados esteja disponível para download.

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

    Você pode usar a URL SAS no Gerenciador de Armazenamento do Azure ou AzCopy para copiar os arquivos CSV de resultados e os arquivos de log para a execução de teste para sua conta de armazenamento.

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