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.
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 obciążeniowych.
Wybierz test obciążeniowy z listy, a następnie wybierz pozycję Edytuj.
W okienku Kryteria testu wypełnij wartości Metryka, Funkcja agregacji, Warunek i Próg dla testu.
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.
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.
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.
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:
W witrynie Azure Portal przejdź do składnika aplikacji.
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.
Na karcie Rola w obszarze Role funkcji zadań wyszukaj pozycję Czytelnik monitorowania lub Współautor monitorowania.
Na karcie Członkowie w obszarze Przypisz dostęp do wybierz pozycję Tożsamość zarządzana.
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.
Wybierz pozycję Przejrzyj i przypisz , aby przypisać tożsamość uprawnienia.
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.
W witrynie Azure Portal przejdź do zasobu testowania obciążenia platformy Azure.
Wybierz pozycję Utwórz test.
Na karcie Monitorowanie skonfiguruj składniki aplikacji, które mają być monitorowane podczas testu.
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.
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.
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.
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.
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:
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 obciążeniowych.
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.
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.
Wybierz pozycję Zastosuj lub Przejrzyj i utwórz , jeśli tworzysz nowy test obciążeniowy, aby zapisać zmiany.
Następne kroki
Aby dowiedzieć się, jak sparametryzować test obciążeniowy przy użyciu wpisów tajnych, zobacz Parametryzacja testu obciążeniowego.
Aby dowiedzieć się więcej na temat automatyzacji testów wydajnościowych, zobacz Konfigurowanie zautomatyzowanego testowania wydajnościowego.