Udostępnij za pośrednictwem


Eksportowanie wyników testów z usługi Azure Load Testing do użycia w narzędziach innych firm

Z tego artykułu dowiesz się, jak wyeksportować wyniki i raporty testów obciążeniowych platformy Azure. Wyniki można pobrać przy użyciu witryny Azure Portal, jako artefaktu w przepływie pracy ciągłej integracji/ciągłego wdrażania, w narzędziu JMeter przy użyciu odbiornika zaplecza lub kopiując wyniki z konta usługi Azure Storage. Możesz użyć tych wyników do raportowania w narzędziach innych firm lub do diagnozowania niepowodzeń testów. Usługa Azure Load Testing generuje wyniki testu w formacie pliku wartości rozdzielanych przecinkami (CSV) i zawiera szczegółowe informacje o każdym żądaniu aplikacji dla testu obciążeniowego.

Możesz również użyć wyników testu, aby zdiagnozować błędy podczas testu obciążeniowego. Pola responseCode i responseMessage zawierają więcej informacji o żądaniach, które zakończyły się niepowodzeniem. Aby uzyskać więcej informacji na temat badania błędów, zobacz Diagnozowanie zakończonych niepowodzeniem testów obciążeniowych.

Pulpit nawigacyjny Apache JMeter można wygenerować z pliku dziennika CSV, wykonując kroki wymienione tutaj.

Pulpit nawigacyjny wyników testowania obciążenia platformy Azure można również pobrać jako raport HTML na potrzeby wyświetlania i współpracy w trybie offline.

Wymagania wstępne

  • Konto platformy Azure z aktywną subskrypcją. Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
  • Zasób testowania obciążenia platformy Azure z ukończonym przebiegiem testu. Jeśli musisz utworzyć zasób testowania obciążenia platformy Azure, zobacz Tworzenie i uruchamianie testu obciążeniowego.

Format pliku wyników testów

Testowanie obciążenia platformy Azure generuje plik CSV wyników testu dla każdego wystąpienia aparatu testowego. Dowiedz się, jak skalować test obciążeniowy w poziomie.

Testowanie obciążenia platformy Azure używa formatu dziennika CSV Apache JMeter. Aby uzyskać więcej informacji na temat różnych pól, zobacz słownik JMeter w dokumentacji narzędzia Apache JMeter.

Szczegóły każdego żądania aplikacji dla przebiegu testu obciążeniowego można znaleźć w pliku wyników testu testów. Poniższy fragment kodu przedstawia przykładowy wynik testu:

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

Uzyskiwanie dostępu do wyników i raportów testów obciążeniowych oraz pobieranie ich

Po zakończeniu przebiegu testu obciążeniowego możesz uzyskać dostęp do wyników testu obciążeniowego i raport HTML za pośrednictwem witryny Azure Portal lub jako artefakt w przepływie pracy ciągłej integracji/ciągłego wdrażania.

Ważne

W przypadku testów obciążeniowych z więcej niż 45 wystąpieniami aparatu lub dłuższym niż 3-godzinny czas trwania testu plik wyników nie jest dostępny do pobrania. Możesz skonfigurować odbiornik zaplecza JMeter, aby wyeksportować wyniki do wybranego magazynu danych lub skopiować wyniki z kontenera konta magazynu. W przypadku testów z próbkatorami większymi niż 30 pobrany raport HTML będzie zawierać tylko wykresy dla danych zagregowanych we wszystkich przykładach. Wykresy nie będą pokazywać danych z próbkatorem. Ponadto pobrany raport nie obsługuje wykresów odpowiadających metryce po stronie serwera.

Aby pobrać wyniki testu i raport HTML dla przebiegu testu w witrynie Azure Portal:

  1. W witrynie Azure Portal przejdź do zasobu testowania obciążenia platformy Azure.

  2. W okienku po lewej stronie wybierz pozycję Testy , aby wyświetlić listę testów, a następnie wybierz test.

    Zrzut ekranu przedstawiający listę testów dla zasobu usługi Azure Load Testing.

    Napiwek

    Aby ograniczyć liczbę testów do wyświetlenia na liście, możesz użyć pola wyszukiwania i filtru Zakres czasu.

  3. Plik wyników testu można pobrać jako spakowany folder na jeden z dwóch sposobów:

    • Wybierz wielokropek (...) obok przebiegu testu obciążeniowego, z którym pracujesz, a następnie wybierz pozycję Pobierz plik wyników.

      Zrzut ekranu przedstawiający sposób pobierania pliku wyników na potrzeby przebiegu testu obciążeniowego.

      Uwaga

      Uruchomienie testu obciążeniowego musi mieć stan Gotowe, Zatrzymane lub Niepowodzenie , aby plik wyników był dostępny do pobrania.

    • Wybierz pozycję Pobierz w okienku Szczegóły przebiegu testu. Aby pobrać wyniki, wybierz pozycję Wyniki. Aby pobrać raport HTML, wybierz pozycję Raport.

      Zrzut ekranu przedstawiający sposób pobierania wyników testu z okienka

  4. Aby wyodrębnić folder i uzyskać dostęp do pobranych plików, możesz użyć dowolnego narzędzia zip.

    Zrzut ekranu przedstawiający plik zip wyników testu na liście pobierania.

    Folder results zawiera oddzielny plik CSV dla każdego aparatu testowego i zawiera szczegółowe informacje o żądaniach wykonywanych przez aparat testowy podczas testu obciążeniowego.

    Folder raportu zawiera plik HTML, który zawiera podsumowanie przebiegu testu i grafów metryk wydajności na potrzeby wyświetlania i współpracy w trybie offline.

Eksportowanie wyników testów przy użyciu odbiorników zaplecza JMeter

Odbiornik zaplecza JMeter umożliwia eksportowanie wyników testów do baz danych, takich jak InfluxDB, MySQL lub narzędzia do monitorowania, takie jak aplikacja systemu Azure Insights.

Można użyć domyślnych odbiorników zaplecza JMeter, odbiorników zaplecza z jmeter-plugins.org lub niestandardowego odbiornika zaplecza w postaci pliku archiwum Java (JAR).

Poniższy fragment kodu przedstawia przykład użycia odbiornika zaplecza do aplikacja systemu Azure Insights w pliku 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>

Pełny przykład użycia odbiornika zaplecza usługi aplikacja systemu Azure Insights można pobrać.

Kopiowanie artefaktów testowych z kontenera konta magazynu

Ważne

Kopiowanie artefaktów testowych z kontenera konta magazynu jest włączone tylko w przypadku testów obciążeniowych z więcej niż 45 wystąpieniami aparatu lub czasem trwania testu dłuższym niż trzy godziny.

Aby skopiować wyniki testu i pliki dziennika dla przebiegu testu z konta magazynu, w witrynie Azure Portal:

  1. W witrynie Azure Portal przejdź do zasobu testowania obciążenia platformy Azure.

  2. W okienku po lewej stronie wybierz pozycję Testy , aby wyświetlić listę testów, a następnie wybierz test.

    Zrzut ekranu przedstawiający listę testów dla zasobu usługi Azure Load Testing.

  3. Z listy przebiegów testów wybierz przebieg testu.

    Zrzut ekranu przedstawiający listę przebiegów testów dla testu w zasobie testowania obciążenia platformy Azure.

    Napiwek

    Aby ograniczyć liczbę testów do wyświetlenia na liście, możesz użyć pola wyszukiwania i filtru Zakres czasu.

  4. W okienku Szczegóły przebiegu testu wybierz pozycję Kopiuj artefakty.

    Zrzut ekranu przedstawiający sposób kopiowania artefaktów testowych z okienka

    Uwaga

    Uruchomienie testu obciążeniowego musi mieć stan Gotowe, Zatrzymane lub Niepowodzenie , aby plik wyników był dostępny do pobrania.

  5. Skopiuj adres URL sygnatury dostępu współdzielonego kontenera konta magazynu.

    Adres URL sygnatury dostępu współdzielonego można użyć w Eksplorator usługi Azure Storage lub narzędziu AzCopy, aby skopiować pliki CSV wyników i pliki dziennika dla przebiegu testowego na konto magazynu.

    Adres URL sygnatury dostępu współdzielonego jest ważny przez 60 minut od momentu wygenerowania. Jeśli adres URL wygaśnie, wybierz pozycję Kopiuj artefakty, aby wygenerować nowy adres URL sygnatury dostępu współdzielonego.