Поделиться через


Экспорт результатов теста из Нагрузочного тестирования Azure для использования в сторонних средствах

Из этой статьи вы узнаете, как экспортировать результаты и отчеты теста нагрузочного тестирования Azure. Результаты можно скачать с помощью портал Azure в качестве артефакта в рабочем процессе CI/CD, в JMeter с помощью внутреннего прослушивателя или копирования результатов из учетной записи хранения Azure. Эти результаты можно использовать для создания отчетов в сторонних средствах или для диагностики сбоев тестов. Нагрузочное тестирование Azure создает результаты теста в формате файла с разделительная запятыми (CSV-файл) и содержит сведения о каждом запросе приложения для нагрузочного теста.

Результаты теста также можно использовать для диагностики ошибок во время нагрузочного теста. Поля responseCode содержат responseMessage дополнительные сведения о неудачных запросах. Дополнительные сведения об анализе ошибок см. в разделе "Диагностика неудачных нагрузочных тестов".

Вы можете создать панель мониторинга Apache JMeter из CSV-файла журнала, выполнив описанные здесь действия.

Вы также можете скачать панель мониторинга результатов нагрузочного тестирования Azure в виде HTML-отчета для автономного просмотра и совместной работы.

Необходимые компоненты

Формат файла результатов теста

Нагрузочное тестирование Azure создает CSV-файл результатов теста для каждого экземпляра модуля тестирования. Узнайте, как масштабировать нагрузочный тест.

Нагрузочное тестирование Azure использует формат журнала Apache JMeter CSV. Дополнительные сведения о различных полях см . в глоссариях JMeter в документации по Apache JMeter.

Подробные сведения о каждом запросе приложения нагрузочного теста можно найти в файле результатов теста. В следующем фрагменте кода показан пример результата теста:

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

Доступ и скачивание результатов нагрузочного теста и отчета

После завершения нагрузочного теста можно получить доступ к результатам нагрузочного теста и отчету HTML через портал Azure или как артефакт в рабочем процессе CI/CD.

Внимание

Для нагрузочных тестов с более чем 45 экземплярами ядра или более 3-часовой продолжительности тестового выполнения файл результатов недоступен для скачивания. Вы можете настроить прослушиватель серверной части JMeter, чтобы экспортировать результаты в хранилище данных вашего выбора или скопировать результаты из контейнера учетной записи хранения. Для тестов с образцами, превышающими 30, скачанный HTML-отчет будет содержать только графы для данных, агрегированных по всем образцам. Графы не будут отображать данные с примерами. Кроме того, скачанный отчет не поддерживает графы, соответствующие метрикам на стороне сервера.

Чтобы скачать результаты теста и HTML-отчет для тестового запуска в портал Azure:

  1. В портал Azure перейдите к ресурсу Azure Load Testing.

  2. На левой панели выберите "Тесты ", чтобы просмотреть список тестов, а затем выберите тест.

    Снимок экрана: список тестов для ресурса Нагрузочного тестирования Azure.

    Совет

    Чтобы ограничить количество тестов, отображаемых в списке, можно использовать поле поиска и фильтр диапазона времени.

  3. Файл результатов теста можно скачать в виде архивной папки двумя способами:

    • Выберите многоточие (...) рядом с нагрузочного теста, с которым вы работаете, и нажмите кнопку "Скачать файл результатов".

      Снимок экрана: скачивание файла результатов для выполнения нагрузочного теста.

      Примечание.

      Выполнение нагрузочного теста должно иметь состояние "Готово", "Остановлено" или "Сбой", чтобы файл результатов был доступен для скачивания.

    • Выберите "Скачать" на панели сведений о тестовом запуске. Чтобы скачать результаты, выберите "Результаты". Чтобы скачать HTML-отчет, выберите "Отчет".

      Снимок экрана, на котором показано, как скачать результаты теста на панели

  4. Вы можете использовать любое zip-средство для извлечения папки и доступа к скачанным файлам.

    Снимок экрана: ZIP-файл результатов теста в списке загрузки.

    Папка результатов содержит отдельный CSV-файл для каждого тестового модуля и содержит сведения о запросах, выполняемых модульом тестирования во время нагрузочного теста.

    Папка отчета содержит HTML-файл, содержащий сводку тестового выполнения и графов метрик производительности для автономного просмотра и совместной работы.

Экспорт результатов теста с помощью прослушивателей серверной части JMeter

Вы можете использовать серверный прослушиватель JMeter для экспорта результатов теста в такие базы данных, как ПритокDB, MySQL или средства мониторинга, такие как приложение Azure Insights.

Вы можете использовать прослушиватели серверной части JMeter по умолчанию, серверные прослушиватели из jmeter-plugins.org или пользовательский серверный прослушиватель в виде файла JAR-файла архива Java.

В следующем фрагменте кода показан пример использования внутреннего прослушивателя для приложение Azure Insights в файле 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>

Вы можете скачать полный пример использования серверного прослушивателя приложение Azure Insights.

Копирование тестовых артефактов из контейнера учетной записи хранения

Внимание

Копирование тестовых артефактов из контейнера учетной записи хранения включается только для нагрузочных тестов с более чем 45 экземплярами ядра или с длительностью тестового выполнения более трех часов.

Чтобы скопировать результаты теста и файлы журналов для тестового запуска из учетной записи хранения, в портал Azure:

  1. В портал Azure перейдите к ресурсу Azure Load Testing.

  2. На левой панели выберите "Тесты ", чтобы просмотреть список тестов, а затем выберите тест.

    Снимок экрана: список тестов для ресурса Нагрузочного тестирования Azure.

  3. В списке тестовых запусков выберите тестовый запуск.

    Снимок экрана: список тестовых запусков для теста в ресурсе Нагрузочного тестирования Azure.

    Совет

    Чтобы ограничить количество тестов, отображаемых в списке, можно использовать поле поиска и фильтр диапазона времени.

  4. В области сведений о тестовом запуске выберите "Копировать артефакты".

    Снимок экрана, на котором показано, как скопировать артефакты теста из области

    Примечание.

    Выполнение нагрузочного теста должно находиться в состоянии "Готово", "Остановлено" или "Сбой", чтобы файл результатов был доступен для скачивания.

  5. Скопируйте URL-адрес SAS контейнера учетной записи хранения.

    URL-адрес SAS можно использовать в обозревателе служба хранилища Azure или AzCopy, чтобы скопировать результаты CSV-файлов и файлы журналов для тестового запуска в учетную запись хранения.

    URL-адрес SAS действителен в течение 60 минут с момента создания. Если срок действия URL-адреса истек, выберите " Копировать артефакты ", чтобы создать новый URL-адрес SAS.