Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Z tego artykułu dowiesz się, jak wyeksportować wyniki i raporty testów obciążeniowych platformy Azure. Wyniki można wyświetlić w portalu Azure, pobrać wyniki za pomocą portalu Azure, jako artefakt w przepływie pracy CI/CD, w JMeter przy użyciu odbiornika zaplecza, w Locust, używając hooków zdarzeń lub wtyczek listenerów, albo skopiować 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 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
Wyświetlanie i pobieranie wyników testów obciążeniowych i raportów
Po zakończeniu przebiegu testu obciążeniowego możesz wyświetlić i pobrać wyniki testu obciążeniowego oraz raport HTML za pośrednictwem portalu Azure lub jako artefakt w przepływie pracy CI/CD.
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 wyświetlić i pobrać wyniki testu oraz raport HTML dla przebiegu testu w witrynie Azure Portal:
W witrynie Azure Portal przejdź do zasobu testowania obciążenia platformy Azure.
W okienku po lewej stronie wybierz pozycję Testy , aby wyświetlić listę testów, a następnie wybierz test.
Wskazówka
Aby ograniczyć liczbę testów do wyświetlenia na liście, możesz użyć pola wyszukiwania i filtru Zakres czasu.
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.
Uwaga / Notatka
Uruchomienie testu obciążeniowego musi mieć status Zdany, Nieudany, Zakończony lub Przerwany, aby plik wyników był dostępny do pobrania.
Wybierz pozycję Pobierz w okienku Szczegóły przebiegu testu. Aby pobrać wyniki, wybierz pozycję Wyniki i wybierz pozycję Pobierz. Aby pobrać raport HTML, wybierz pozycję Raport.
Aby wyświetlić pliki wyników w kontenerze magazynu, wybierz pozycję Pobierz w okienku Szczegóły przebiegu testu , wybierz pozycję Wyniki i wybierz pozycję Wyświetl. Pliki wyników można wyświetlić ze wszystkich aparatów testowych w okienku kontekstowym po prawej stronie. Wybierz plik, który chcesz pobrać, a następnie wybierz pozycję Pobierz.
Aby wyodrębnić folder i uzyskać dostęp do pobranych plików, możesz użyć dowolnego narzędzia zip.
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
W przypadku testów opartych na JMeter można użyć odbiornika zaplecza JMeter do eksportowania wyników testów do baz danych, takich jak InfluxDB, MySQL lub narzędzia do monitorowania, takie jak Azure Application 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ć.
W przypadku testów opartych na locust można użyć wtyczki zdarzeń lub wtyczki odbiornika.
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:
W witrynie Azure Portal przejdź do zasobu testowania obciążenia platformy Azure.
W okienku po lewej stronie wybierz pozycję Testy , aby wyświetlić listę testów, a następnie wybierz test.
Z listy przebiegów testów wybierz przebieg testu.
Wskazówka
Aby ograniczyć liczbę testów do wyświetlenia na liście, możesz użyć pola wyszukiwania i filtru Zakres czasu.
W okienku Szczegóły przebiegu testu wybierz pozycję Pobierz, a następnie wybierz pozycję Wyniki i wybierz pozycję Wyświetl. Możesz zobaczyć widok kontenera magazynu z plikami wyników.
Uwaga / Notatka
Uruchomienie testu obciążeniowego musi mieć stan Gotowe, Zatrzymane lub Niepowodzenie , aby plik wyników był dostępny do pobrania.
Wybierz Kopiuj adres URL SAS, aby skopiować adres URL SAS kontenera w koncie 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.
Treści powiązane
- Dowiedz się więcej o diagnozowaniu zakończonych niepowodzeniem testów obciążeniowych.
- Dowiedz się więcej na temat porównywania wielu wyników testów.
- Dowiedz się więcej na temat konfigurowania zautomatyzowanego testowania wydajnościowego w usłudze Azure Pipelines.