Udostępnij za pośrednictwem


Definiowanie kryteriów niepowodzenia testów obciążeniowych przy użyciu testowania obciążenia platformy Azure

Z tego artykułu dowiesz się, jak zdefiniować kryteria niepowodzenia lub kryteria automatycznego zatrzymywania testów obciążeniowych przy użyciu usługi Azure Load Testing. Kryteria niepowodzenia umożliwiają zdefiniowanie oczekiwań dotyczących wydajności i jakości aplikacji pod obciążeniem. Testowanie obciążenia platformy Azure obsługuje różne metryki klienta i serwera służące do definiowania kryteriów niepowodzenia, takich jak współczynnik błędów lub procent procesora CPU dla zasobu platformy Azure. Kryteria automatycznego zatrzymywania umożliwiają automatyczne zatrzymanie testu obciążeniowego, gdy współczynnik błędów przekroczy określony próg.

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. Jeśli musisz utworzyć zasób usługi Azure Load Testing, zobacz przewodnik Szybki start Tworzenie i uruchamianie testu obciążeniowego.

Kryteria niepowodzenia testu obciążeniowego

Kryteria niepowodzenia testu obciążeniowego to warunki metryk, które powinny spełniać test. Należy zdefiniować kryteria testu na poziomie testu obciążeniowego w usłudze Azure Load Testing. Test obciążeniowy może mieć co najmniej jedno kryterium testu. Jeśli co najmniej jedno z kryteriów testu ma wartość true, test obciążeniowy pobiera stan niepowodzenia .

Można zdefiniować maksymalnie 50 kryteriów testu obciążeniowego. Jeśli istnieje wiele kryteriów dla tej samej metryki, zostanie użyte kryterium z najniższą wartością progową.

Struktura kryteriów niepowodzenia dla metryk klienta

Format kryteriów niepowodzenia w usłudze Azure Load Testing jest zgodny z instrukcją warunkową dla obsługiwanej metryki. Na przykład upewnij się, że średnia liczba żądań na sekundę jest większa niż 500.

W przypadku metryk po stronie klienta można zdefiniować kryteria testu na dwóch poziomach. Test obciążeniowy może łączyć kryteria na różnych poziomach.

  • Na poziomie testu obciążeniowego. Aby na przykład upewnić się, że łączna wartość procentowa błędu nie przekracza progu. Struktura kryteriów to: Aggregate_function (client_metric) condition threshold.
  • Na poziomie żądania JMeter (próbkator JMeter). Można na przykład określić próg czasu odpowiedzi żądania getProducts , ale zignorować czas odpowiedzi żądania logowania . Struktura kryteriów to: Request: Aggregate_function (client_metric) condition threshold.

W poniższej tabeli opisano różne składniki:

Parametr Opis
Client metric Wymagane. Metryka klienta, dla której należy zastosować warunek.
Aggregate function Wymagany. Funkcja agregacji, która ma zostać zastosowana do metryki klienta.
Condition Wymagany. Operator porównania, taki jak greater than, lub less than.
Threshold Wymagany. Wartość liczbowa do porównania z metryki klienta.
Request Opcjonalny. Nazwa przykładowego skryptu JMeter, do którego ma zastosowanie kryterium. Jeśli nie określisz nazwy żądania, kryterium ma zastosowanie do agregacji wszystkich żądań w skry skryptzie.
Nie dołączaj żadnych danych osobowych do nazwy przykładowego skryptu JMeter. Nazwy przykładów są wyświetlane na pulpicie nawigacyjnym wyników testowania obciążenia platformy Azure.

Obsługiwane metryki klienta dla kryteriów niepowodzenia

Testowanie obciążenia platformy Azure obsługuje następujące metryki klienta:

Metric Funkcja agregacji Threshold Warunek opis
response_time_ms avg (średnia)
min (minimum)
max (maksimum)
pxx (percentyl), xx może być 50, 75, 90, 95, 96, 97, 98, 99, 999 i 9999
Wartość całkowita reprezentująca liczbę milisekund (ms). > (większe niż)
< (mniejsze niż)
Czas odpowiedzi lub czas, który upłynął, w milisekundach. Dowiedz się więcej o upływie czasu w dokumentacji narzędzia Apache JMeter.
latency avg (średnia)
min (minimum)
max (maksimum)
pxx (percentyl), xx może być 50, 90, 95, 99
Wartość całkowita reprezentująca liczbę milisekund (ms). > (większe niż)
< (mniejsze niż)
Opóźnienie ( w milisekundach). Dowiedz się więcej o opóźnieniu w dokumentacji narzędzia Apache JMeter.
error percentage Wartość liczbowa w zakresie od 0 do 100, reprezentująca wartość procentową. > (większe niż) Procent żądań, które zakończyły się niepowodzeniem.
requests_per_sec avg (średnia) Wartość liczbowa z maksymalnie dwoma miejscami dziesiętnymi. > (większe niż)
< (mniejsze niż)
Liczba żądań na sekundę.
requests count Wartość całkowita. > (większe niż)
< (mniejsze niż)
Łączna liczba żądań.

Definiowanie kryteriów niepowodzenia testu obciążeniowego dla metryk klienta

W tej sekcji skonfigurujesz kryteria testowania dla metryki klienta dla testu obciążeniowego 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 obciążeniowych.

  3. Wybierz test obciążeniowy z listy, a następnie wybierz pozycję Edytuj.

    Zrzut ekranu przedstawiający listę testów dla zasobu testowania obciążenia platformy Azure w witrynie Azure Portal z wyróżnionym przyciskiem

  4. W okienku Kryteria testu wypełnij wartości Metryka, Funkcja agregacji, Warunek i Próg dla testu.

    Zrzut ekranu przedstawiający okienko

    Opcjonalnie wprowadź informacje o nazwie żądania, aby dodać kryterium testu dla określonego żądania JMeter. Wartość powinna być zgodna z nazwą próbkatora JMeter w pliku JMX.

    Zrzut ekranu przedstawiający interfejs użytkownika JMeter z wyróżnioną nazwą żądania.

  5. Wybierz pozycję Zastosuj , aby zapisać zmiany.

    Po uruchomieniu testu obciążeniowego usługa Azure Load Testing używa kryteriów testu w celu określenia stanu przebiegu testu obciążeniowego.

  6. Uruchom test i wyświetl stan na pulpicie nawigacyjnym testu obciążeniowego.

    Na pulpicie nawigacyjnym są wyświetlane wszystkie kryteria testu i ich stan. Ogólny stan testu nie powiedzie się, jeśli spełniono co najmniej jedno kryterium.

    Zrzut ekranu przedstawiający kryteria testu na pulpicie nawigacyjnym testu obciążeniowego.

Uzyskiwanie dostępu do składnika aplikacji pod kątem kryteriów testowania metryk serwera

Po ustawieniu kryteriów niepowodzenia dla metryki w składniku aplikacji zasób testowania obciążenia używa tożsamości zarządzanej do uzyskiwania dostępu do tego składnika. Po skonfigurowaniu tożsamości zarządzanej należy udzielić tożsamości zarządzanej uprawnień zasobu do testowania obciążenia, aby odczytać te wartości ze składnika aplikacji.

Aby przyznać zasobom testowania obciążenia platformy Azure uprawnienia do odczytywania metryk ze składnika aplikacji:

  1. W witrynie Azure Portal przejdź do składnika aplikacji.

  2. W okienku po lewej stronie wybierz pozycję Kontrola dostępu (zarządzanie dostępem i tożsamościami), a następnie wybierz pozycję + Dodaj przypisanie roli.

    Zrzut ekranu przedstawiający kontrolkę dostępu (zarządzanie dostępem i tożsamościami) w składniku aplikacji, na którym należy ustawić kryteria niepowodzenia.

  3. Na karcie Rola w obszarze Role funkcji zadań wyszukaj pozycję Czytelnik monitorowania lub Współautor monitorowania.

  4. Na karcie Członkowie w obszarze Przypisz dostęp do wybierz pozycję Tożsamość zarządzana.

  5. Kliknij pozycję Wybierz członków, wyszukaj i wybierz tożsamość zarządzaną dla zasobu testowania obciążenia, a następnie wybierz pozycję Dalej. Jeśli używasz tożsamości zarządzanej przypisanej przez system, nazwa tożsamości zarządzanej jest zgodna z nazwą zasobu testowania obciążenia platformy Azure.

  6. Wybierz pozycję Przejrzyj i przypisz , aby przypisać tożsamość uprawnienia.

    Zrzut ekranu przedstawiający przypisywanie uprawnień do odczytywania metryk do zasobu testowania obciążenia.

Po uruchomieniu testu tożsamość zarządzana skojarzona z zasobem testowania obciążenia może teraz odczytywać metryki testu obciążeniowego ze składnika aplikacji.

Definiowanie kryteriów niepowodzenia testu obciążeniowego dla metryk serwera

Ważne

Testowanie obciążenia platformy Azure nie obsługuje konfigurowania kryteriów niepowodzenia w metrykach po stronie serwera z usługi Azure Pipelines/GitHub Actions.

W tej sekcji skonfigurujesz kryteria niepowodzenia testu na metrykach po stronie serwera na potrzeby testu obciążeniowego w witrynie Azure Portal.

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

  2. Wybierz pozycję Utwórz test.

  3. Na karcie Monitorowanie skonfiguruj składniki aplikacji, które mają być monitorowane podczas testu.

  4. Skonfiguruj tożsamość referencyjną metryk. Tożsamość może być tożsamością przypisaną przez system zasobu testowania obciążenia lub jedną z tożsamości przypisanych przez użytkownika. Upewnij się, że używasz tej samej tożsamości, której udzielono wcześniej dostępu.

    Zrzut ekranu przedstawiający konfigurowanie tożsamości referencyjnej metryk.

  5. W okienku Kryteria testu wypełnij wartości Identyfikator zasobu, Przestrzeń nazw, Metryka, Agregacja, Warunek, Próg dla testu. Kryteria niepowodzenia można ustawić tylko dla tych zasobów/składników aplikacji, które są monitorowane podczas testu.

    Zrzut ekranu przedstawiający konfigurowanie kryteriów niepowodzenia w metrykach serwera.

  6. Wybierz pozycję Zastosuj , aby zapisać zmiany. Po uruchomieniu testu obciążeniowego usługa Azure Load Testing używa kryteriów testu w celu określenia stanu przebiegu testu obciążeniowego.

  7. Uruchom test i wyświetl stan na pulpicie nawigacyjnym testu obciążeniowego. Na pulpicie nawigacyjnym są wyświetlane wszystkie kryteria testu i ich stan. Ogólny stan testu nie powiedzie się, jeśli spełniono co najmniej jedno kryterium.

    Zrzut ekranu przedstawiający pulpit nawigacyjny wyświetlający wyniki testu.

Konfiguracja automatycznego zatrzymywania

Testowanie obciążenia platformy Azure automatycznie zatrzymuje test obciążeniowy, jeśli wartość procentowa błędu przekracza określony próg dla określonego przedziału czasu. Automatyczne zatrzymywanie zabezpieczeń przed testami zakończonymi niepowodzeniem powoduje dalsze naliczanie kosztów, na przykład z powodu niepoprawnie skonfigurowanego adresu URL punktu końcowego.

W konfiguracji testu obciążeniowego można włączyć lub wyłączyć funkcję automatycznego zatrzymywania i skonfigurować próg procentowy błędu i przedział czasu. Domyślnie testowanie obciążenia platformy Azure automatycznie zatrzymuje test obciążeniowy, który ma wartość procentową błędu, która wynosi co najmniej 90% w dowolnym 60-sekundowym przedziale czasu.

Możesz użyć funkcji automatycznego zatrzymywania testowania obciążenia platformy Azure w połączeniu z odbiornikiem AutoStop w skryscie JMeter. Test obciążeniowy zostanie automatycznie zatrzymany, gdy zostanie spełniony jeden z kryteriów w konfiguracji automatycznego zatrzymywania lub odbiornik autostopu JMeter.

Uwaga

Jeśli wyłączysz automatyczne zatrzymywanie testu obciążeniowego, możesz ponieść koszty nawet wtedy, gdy test obciążeniowy jest niepoprawnie skonfigurowany.

Aby skonfigurować automatyczne zatrzymywanie testu obciążeniowego 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 obciążeniowych.

  3. Wybierz test obciążeniowy z listy, a następnie wybierz pozycję Edytuj. Alternatywnie wybierz pozycję Create Upload a JMeter script (Utwórz>skrypt JMeter), aby utworzyć nowy test.

  4. Przejdź do karty Kryteria testu, aby skonfigurować funkcję automatycznego zatrzymywania.

    • Włącz lub wyłącz automatyczne zatrzymywanie testu obciążeniowego przy użyciu kontrolki testu automatycznego zatrzymywania.

    • Jeśli włączysz automatyczne zatrzymywanie, możesz wypełnić pola Procent błędów i Przedział czasu . Określ przedział czasu w sekundach.

      Zrzut ekranu przedstawiający okienko

  5. Wybierz pozycję Zastosuj lub Przejrzyj i utwórz , jeśli tworzysz nowy test obciążeniowy, aby zapisać zmiany.

Następne kroki