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. 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.

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

Após a conclusão de uma execução de teste de carga, você pode acessar e baixar os resultados do teste de carga 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 baixar os resultados do teste 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.

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

    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.

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

      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.

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

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

  4. Você pode usar qualquer ferramenta 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 que o mecanismo de teste executou durante o teste de carga.

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.

    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.

    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.

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

    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.