Exportación de resultados de pruebas de Azure Load Testing para su uso en herramientas de terceros

En este artículo, aprenderá a exportar los resultados de la prueba de Azure Load Testing. Puede descargar los resultados mediante Azure Portal, como un artefacto en el flujo de trabajo de CI/CD, en JMeter mediante un agente de escucha de backend o copiando los resultados de una cuenta de almacenamiento de Azure. Puede usar estos resultados para informar en herramientas de terceros o para diagnosticar errores de prueba. Azure Load Testing genera los resultados de la prueba en formato de archivo de valores separados por comas (CSV) y proporciona detalles de cada solicitud de aplicación para la prueba de carga.

También puede usar los resultados de las pruebas para diagnosticar errores durante una prueba de carga. Los campos responseCode y responseMessage proporcionan más información sobre las solicitudes con error. Para obtener más información sobre cómo investigar errores, consulte Diagnóstico de pruebas de carga con errores.

Puede generar el panel de Apache JMeter desde el archivo de registro CSV siguiendo los pasos mencionados aquí.

Requisitos previos

  • Una cuenta de Azure con una suscripción activa. Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
  • Un recurso de Azure Load Testing que tiene una ejecución de prueba completada. Si necesita crear un recurso de Azure Load Testing, consulte la guía de inicio rápido Create and run a load test (Creación y ejecución de una prueba de carga).

Formato de archivo de resultados de pruebas

Azure Load Testing genera un archivo CSV de resultados de prueba para cada instancia del motor de pruebas. Obtenga información sobre cómo puede escalar horizontalmente la prueba de carga.

Azure Load Testing usa el Formato de registro CSV de Apache JMeter. Para obtener más información sobre los distintos campos, consulte el Glosario de JMeter en la documentación de Apache JMeter.

Puede encontrar los detalles de cada solicitud de aplicación para la ejecución de pruebas de carga en el archivo de resultados de pruebas. En el fragmento de código siguiente se muestra un resultado de prueba de ejemplo:

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

Acceso y descarga de los resultados de las pruebas de carga

Una vez finalizada la ejecución de una prueba de carga, puede acceder a los resultados de la prueba de carga y descargarlos a través de Azure Portal o como un artefacto en el flujo de trabajo de CI/CD.

Importante

En el caso de las pruebas de carga con más de 45 instancias del motor o una duración de ejecución de prueba superior a 3 horas, el archivo de resultados no está disponible para su descarga. Puede configurar un agente de escucha de Backend de JMeter para exportar los resultados a un almacén de datos de su elección o copiar los resultados de un contenedor de cuenta de almacenamiento.

Para descargar los resultados de las pruebas de una ejecución de prueba en Azure Portal:

  1. En Azure Portal, vaya al recurso de Azure Load Testing.

  2. En el panel izquierdo, seleccione Pruebas para ver una lista de pruebas y seleccione la que desee.

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

    Sugerencia

    Para limitar el número de pruebas que se muestra en la lista, puede usar el cuadro de búsqueda y el filtro Intervalo de tiempo.

  3. El archivo de resultados de pruebas se puede descargar en forma de carpeta comprimida de dos maneras:

    • Seleccione los puntos suspensivos (...) que hay junto a la ejecución de prueba de carga con la que trabaja y, después, seleccione Descargar archivo de resultados.

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

      Nota:

      Una ejecución de prueba de carga debe tener el estado Listo, Detenido o Error para que el archivo de resultados esté disponible para su descarga.

    • En el panel Detalles de serie de pruebas, seleccione Descargar y, después, Resultados.

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

  4. Puede usar cualquier herramienta de compresión y descompresión de archivos para extraer la carpeta y acceder a los resultados de la prueba.

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

    La carpeta contiene un archivo CSV independiente para cada motor de prueba y contiene detalles de las solicitudes que el motor de prueba ejecutó durante la prueba de carga.

Exportación de resultados de pruebas mediante agentes de escucha backend de JMeter

Puede usar un agente de escucha de backend de JMeter para exportar resultados de pruebas a bases de datos como InfluxDB, MySQL o herramientas de supervisión como Azure Application Insights.

Puede usar los agentes de escucha back-end de JMeter predeterminados, los agentes de escucha de backend de jmeter-plugins.org o un agente de escucha de back-end personalizado en forma de archivo java (JAR).

En el fragmento de código siguiente se muestra un ejemplo de cómo usar el agente de escucha de backend para Azure Application Insights, en un archivo 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>

Puede descargar el ejemplo completo del uso del agente de escucha backend de Azure Application Insights.

Copia de artefactos de prueba desde un contenedor de cuentas de almacenamiento

Importante

La copia de artefactos de prueba desde un contenedor de cuentas de almacenamiento solo está habilitada para pruebas de carga con más de 45 instancias de motor o con una duración de ejecución de prueba superior a tres horas.

Para copiar los resultados de la prueba y los archivos de registro de una ejecución de prueba desde una cuenta de almacenamiento, en Azure Portal:

  1. En Azure Portal, vaya al recurso de Azure Load Testing.

  2. En el panel izquierdo, seleccione Pruebas para ver una lista de pruebas y seleccione la que desee.

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

  3. En la lista de ejecuciones de pruebas, seleccione la ejecución de pruebas.

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

    Sugerencia

    Para limitar el número de pruebas que se muestra en la lista, puede usar el cuadro de búsqueda y el filtro Intervalo de tiempo.

  4. En el panel Detalles de la ejecución de pruebas, seleccioneCopiar artefactos.

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

    Nota:

    Una serie de pruebas debe estar en los estados Listo, Detenido o Error para que el archivo de resultados esté disponible para su descarga.

  5. Copie la dirección URL de SAS del contenedor de la cuenta de almacenamiento.

    Puede usar la dirección URL de SAS en el Explorador de Azure Storage o AzCopy para copiar los archivos CSV de resultados y los archivos de registro de la ejecución de prueba en la cuenta de almacenamiento.

    La dirección URL de SAS es válida durante 60 minutos a partir del momento en que se genera. Si la dirección URL expira, seleccione Copiar artefactos para generar una nueva dirección URL de SAS.