Udostępnij przez


Diagnozowanie zakończonych niepowodzeniem testów obciążeniowych w usłudze Azure Load Testing

Z tego artykułu dowiesz się, jak diagnozować i rozwiązywać problemy z niepowodzeniem testów obciążeniowych w usłudze Azure Load Testing. Testowanie obciążenia platformy Azure udostępnia kilka opcji identyfikowania głównej przyczyny niepowodzenia testu obciążeniowego. Na przykład możesz użyć pulpitu nawigacyjnego testu obciążeniowego lub pobrać wyniki testu lub pliki dziennika testów na potrzeby szczegółowej analizy. Alternatywnie skonfiguruj metryki po stronie serwera, aby identyfikować problemy z punktem końcowym aplikacji.

Testowanie obciążenia platformy Azure używa stanu przebiegu testu w celu określenia wyniku testu obciążeniowego. W zależności od wskaźnika można użyć innego podejścia, aby zidentyfikować główną przyczynę niepowodzenia testu. Aby uzyskać więcej informacji na temat stanu przebiegu testu, zobacz Analizowanie testów obciążeniowych przy użyciu pulpitu nawigacyjnego wyników

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.

Określanie wyniku testu obciążeniowego

Aby uzyskać wynik testu obciążeniowego, wykonaj następujące kroki:

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

  2. Wybierz pozycję Testy w okienku po lewej stronie, aby wyświetlić listę testów.

  3. Wybierz test z listy, aby wyświetlić wszystkie przebiegi testów dla tego testu.

    Lista przebiegów testów zawiera pole Stan .

    Zrzut ekranu przedstawiający listę przebiegów testów w witrynie Azure Portal z wyróżnionymi kolumnami wyniku testu i stanu testu.

  4. Alternatywnie wybierz przebieg testu, aby wyświetlić pulpit nawigacyjny testu obciążeniowego dla przebiegu testu.

    Zrzut ekranu przedstawiający panel testu obciążeniowego z wyróżnionymi informacjami o stanie nieudanego testu.

Diagnozowanie niepowodzeń testów

Możesz zastosować inne podejście do diagnozowania niepowodzenia testu obciążeniowego, w zależności od tego, czy platforma Azure Load Testing była w stanie uruchomić i ukończyć skrypt testowy.

Nie można ukończyć testu obciążeniowego

Gdy test obciążeniowy nie zostanie ukończony, stan przebiegu testu jest ustawiony na Błąd lub Zatrzymano.

Test obciążeniowy może zakończyć się niepowodzeniem z wielu powodów. Przykłady powodów, dla których test obciążeniowy nie kończy się:

  • W skrycie testowym występują błędy.
  • Skrypt testowy używa funkcji JMeter, których testowanie obciążeniowe platformy Azure nie obsługuje. Dowiedz się więcej o obsługiwanych funkcjach JMeter.
  • Skrypt testowy odwołuje się do pliku lub wtyczki, która nie jest dostępna w wystąpieniu silnika testowego.
  • Funkcja automatycznego zatrzymywania przerwała test obciążeniowy, ponieważ zbyt wiele żądań kończy się niepowodzeniem, a szybkość błędów przekracza próg. Dowiedz się więcej na temat funkcji automatycznego stopu w usłudze Azure Load Testing.

Wykonaj następujące kroki, aby zdiagnozować test, który nie kończy się:

  1. Zweryfikuj szczegóły błędów na pulpicie testu obciążeniowego.
  2. Pobierz i przeanalizuj dzienniki testów, aby zidentyfikować problemy w skrypcie testu JMeter.
  3. Pobierz wyniki testu, aby zidentyfikować problemy z poszczególnymi żądaniami.
  4. Uruchom test w trybie debugowania , aby uzyskać dzienniki debugowania oraz żądania i dane odpowiedzi dla żądań, które zakończyły się niepowodzeniem.

Po zakończeniu przebiegu testu można również wyświetlić szczegółowe informacje o błędach oparte na sztucznej inteligencji. Wygenerowane szczegółowe informacje zawierają przyczynę błędu i bardziej praktyczne zalecenia. Ta funkcja jest domyślnie włączona i można ją wyłączyć w ustawieniach panelu błędów. Zapoznaj się z oświadczeniem o ochronie prywatności firmy Microsoft.

Uwaga / Notatka

Wyrażając zgodę na korzystanie ze szczegółowych informacji o błędach opartych na sztucznej inteligencji, zgadzasz się, że pliki dziennika dla przebiegu testu będą używane przez sztuczną inteligencję do generowania zaleceń.

Ukończono test obciążeniowy

Test obciążeniowy może uruchomić skrypt testowy do końca, ale może nie przejść przez wszystkie kryteria testu zakończonego niepowodzeniem. Jeśli co najmniej jedno z kryteriów testu nie zostało spełnione, status przebiegu testu jest ustawiony na Niepowodzenie.

Aby zdiagnozować niepowodzenie testu, wykonaj następujące kroki:

  1. Przejrzyj kryteria niepowodzenia testu na pulpicie nawigacyjnym testu obciążeniowego.
  2. Przejrzyj statystyki próbek na pulpicie testu obciążeniowego, aby lepiej zidentyfikować, które żądania w skrypcie testowym mogą powodować problem.
  3. Na pulpicie testu obciążeniowego przejrzyj metryki po stronie klienta. Opcjonalnie można filtrować wykresy dla określonego żądania przy użyciu kontrolek filtru.
  4. Pobierz wyniki testu, aby uzyskać informacje o błędach dla poszczególnych żądań.
  5. Sprawdź metryki kondycji silnika testowego, aby zidentyfikować możliwą konkurencję o zasoby w silnikach testowych.
  6. Opcjonalnie dodaj składniki aplikacji i monitoruj metryki po stronie serwera , aby zidentyfikować wąskie gardła wydajności punktu końcowego aplikacji.

Pobierz dzienniki robocze Apache JMeter lub Locust na potrzeby testu obciążeniowego.

Po uruchomieniu testu obciążeniowego aparaty testów obciążeniowych platformy Azure wykonują skrypt testowy Apache JMeter lub Locust. Podczas testu obciążeniowego narzędzia Apache JMeter oraz Locust przechowują szczegółowe rejestrowanie w logach węzłów roboczych. Te dzienniki procesów roboczych można pobrać dla każdego przebiegu testu w witrynie Azure Portal. Testowanie obciążenia platformy Azure generuje dziennik pracy dla każdej wirtualnej instancji testowej.

Uwaga / Notatka

Testowanie obciążenia platformy Azure rejestruje tylko komunikaty dziennika na poziomie WARN lub ERROR w dziennikach procesów roboczych. Aby pobrać DEBUG logi, sprawdź Uruchamianie testów w trybie debugowania.

Jeśli na przykład wystąpi problem ze skryptem testowym, stan testu obciążeniowego to Niepowodzenie. W dziennikach procesu roboczego możesz znaleźć dodatkowe informacje o przyczynie problemu.

Aby pobrać dzienniki procesów roboczych dla przebiegu testu testowania obciążenia platformy Azure, wykonaj następujące kroki:

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

  2. Wybierz pozycję Testy , aby wyświetlić listę testów, a następnie wybierz test obciążeniowy z listy.

  3. Z listy testów wybierz przebieg testu, aby wyświetlić panel testu obciążeniowego.

  4. Na pulpicie nawigacyjnym wybierz pozycję Pobierz, a następnie wybierz pozycję Dzienniki. Aby wyświetlić dzienniki w witrynie Azure Portal, wybierz pozycję Wyświetl. Możesz wyświetlić pliki w kontenerze magazynu, wybrać wymagany plik i wyświetlić plik. Jeśli format pliku nie jest obsługiwany do wyświetlania, możesz wybrać pozycję Pobierz , aby pobrać określony plik.

  5. Aby pobrać pliki dzienników jako spakowany folder, wybierz pozycję Pobierz.

    Przeglądarka powinna teraz rozpocząć pobieranie spakowanego folderu zawierającego plik dziennika węzła roboczego JMeter lub Locust dla każdej instancji silnika testowego.

    Zrzut ekranu przedstawiający sposób pobierania plików dziennika testów ze strony szczegółów przebiegu testu.

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

    Plik worker.log może pomóc zdiagnozować główną przyczynę niepowodzenia testu obciążeniowego. Na zrzucie ekranu widać, że test zakończył się niepowodzeniem z powodu brakującego pliku.

    Zrzut ekranu przedstawiający zawartość pliku dziennika JMeter.