Konfigurowanie testowania obciążenia platformy Azure pod kątem obciążenia na dużą skalę

Z tego artykułu dowiesz się, jak skonfigurować test obciążeniowy na potrzeby testowania obciążenia na dużą skalę przy użyciu usługi Azure Load Testing. Testowanie obciążenia platformy Azure abstrahuje złożoność aprowizacji infrastruktury na potrzeby symulowania ruchu na dużą skalę. Aby skalować test obciążeniowy w poziomie, można skonfigurować liczbę wystąpień aparatu testów równoległych. Aby uzyskać optymalną dystrybucję obciążenia, możesz monitorować metryki kondycji wystąpienia testowego na pulpicie nawigacyjnym testowania obciążenia platformy Azure.

Wymagania wstępne

  • Konto platformy Azure z aktywną subskrypcją. Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

  • Istniejący zasób testowania obciążenia platformy Azure. Aby utworzyć zasób testowania obciążenia platformy Azure, zobacz Szybki start Tworzenie i uruchamianie testu obciążeniowego.

Konfigurowanie parametrów obciążenia dla testu obciążeniowego

Aby symulować ruch użytkowników dla aplikacji, możesz skonfigurować wzorzec obciążenia i liczbę użytkowników wirtualnych, dla których chcesz symulować obciążenie. Uruchamiając test obciążeniowy w wielu równoległych wystąpieniach aparatu testowego, testowanie obciążenia platformy Azure może skalować w poziomie liczbę użytkowników wirtualnych, którzy symulują ruch do aplikacji. Wzorzec obciążenia określa sposób dystrybucji obciążenia w czasie trwania testu obciążeniowego. Przykłady wzorców obciążenia to obciążenie liniowe, schodkowe lub skokowe.

W zależności od typu testu obciążeniowego, opartego na adresach URL lub JMeter dostępne są różne opcje konfigurowania obciążenia docelowego i wzorca obciążenia. W poniższej tabeli wymieniono różnice między dwoma typami testów.

Typ testu Liczba użytkowników wirtualnych Wzorzec obciążenia
Oparty na adresie URL (podstawowy) Określ docelową liczbę użytkowników wirtualnych w konfiguracji testu obciążeniowego. Wzorzec obciążenia liniowego oparty na czasie zwiększania i liczbie użytkowników wirtualnych.
Oparte na adresie URL (zaawansowane) Określ liczbę aparatów testowych i liczbę użytkowników wirtualnych na wystąpienie w konfiguracji testu obciążeniowego. Skonfiguruj wzorzec obciążenia (liniowy, krok, skok).
Oparte na JMeter Określ liczbę aparatów testowych w konfiguracji testu obciążeniowego. Określ liczbę użytkowników wirtualnych w skryscie testowym. Skonfiguruj wzorzec obciążenia w skry skrycie testowym.

Konfigurowanie parametrów ładowania dla testów opartych na adresach URL

Aby określić parametry obciążenia dla testu obciążeniowego opartego na adresie URL:

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

  2. W obszarze nawigacji po lewej stronie wybierz pozycję Testy , aby wyświetlić wszystkie testy.

  3. Na liście wybierz test obciążeniowy, a następnie wybierz pozycję Edytuj.

    Screenshot that shows the list of load tests and the 'Edit' button.

    Alternatywnie możesz również edytować konfigurację testu na stronie szczegółów testu. W tym celu wybierz pozycję Konfiguruj, a następnie wybierz pozycję Testuj.

  4. Na stronie Podstawowe upewnij się, że wybierz pozycję Włącz ustawienia zaawansowane.

  5. Na stronie Edytowanie testu wybierz kartę Ładowanie.

    W przypadku testów opartych na adresach URL można skonfigurować liczbę wystąpień aparatu testów równoległych i wzorzec obciążenia.

  6. Użyj kontrolki suwaka Wystąpienia aparatu, aby zaktualizować liczbę wystąpień aparatu testów równoległych. Alternatywnie wprowadź wartość docelową w polu wejściowym.

    Screenshot of the 'Load' tab on the 'Edit test' pane.

  7. Wybierz wartość Wzorzec ładowania z listy.

    Dla każdego wzorca wypełnij odpowiednie ustawienia konfiguracji. Wykres przedstawia wizualną reprezentację wzorca obciążenia i jego parametrów konfiguracji.

    Screenshot of the 'Load' tab when editing a load test, showing how to configure the load pattern.

Konfigurowanie parametrów obciążenia dla testów opartych na JMeter

Aby określić parametry obciążenia dla testu obciążeniowego opartego na JMeter:

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

  2. W obszarze nawigacji po lewej stronie wybierz pozycję Testy , aby wyświetlić wszystkie testy.

  3. Na liście wybierz test obciążeniowy, a następnie wybierz pozycję Edytuj.

    Screenshot that shows the list of load tests and the 'Edit' button.

    Alternatywnie możesz również edytować konfigurację testu na stronie szczegółów testu. W tym celu wybierz pozycję Konfiguruj, a następnie wybierz pozycję Testuj.

  4. Na stronie Edytowanie testu wybierz kartę Ładowanie. Użyj kontrolki suwaka Wystąpienia aparatu, aby zaktualizować liczbę wystąpień aparatu testowego lub wprowadź wartość bezpośrednio w polu wejściowym.

    Screenshot of the 'Load' tab on the 'Edit test' pane.

  5. Wybierz pozycję Zastosuj , aby zmodyfikować test i użyć nowej konfiguracji po ponownym uruchomieniu.

Monitorowanie metryk wystąpienia aparatu

Aby upewnić się, że wystąpienia aparatu testowego nie są wąskim gardłem wydajności, można monitorować metryki zasobów wystąpienia aparatu testowego. Wysokie użycie zasobów dla wystąpienia testowego może negatywnie wpłynąć na wyniki testu obciążeniowego.

Usługa Azure Load Testing raportuje cztery metryki zasobów dla każdego wystąpienia:

  • Procent użycia procesora CPU.
  • Procent pamięci.
  • Bajty sieciowe na sekundę.
  • Liczba użytkowników wirtualnych.

Wystąpienie aparatu testowego jest uznawane za w dobrej kondycji, jeśli średni procent procesora CPU lub procent pamięci w okresie trwania przebiegu testu pozostaje poniżej 75%.

Aby wyświetlić metryki zasobów aparatu:

  1. Przejdź do zasobu testowania obciążenia. W okienku po lewej stronie wybierz pozycję Testy , aby wyświetlić listę testów obciążeniowych.

  2. Na liście wybierz test obciążeniowy, aby wyświetlić listę przebiegów testów.

  3. Na liście przebiegów testów wybierz przebieg testu.

  4. Na pulpicie nawigacyjnym przebiegu testu wybierz kondycję aparatu, aby wyświetlić metryki zasobów aparatu.

    Opcjonalnie wybierz określone wystąpienie aparatu testowego przy użyciu kontrolek filtrów.

Screenshot that shows the load engine health metrics on the test run dashboard.

Rozwiązywanie problemów z wystąpieniami aparatu w złej kondycji

Jeśli jedno lub wiele wystąpień pokazuje wysokie użycie zasobów, może to mieć wpływ na wyniki testu. Aby rozwiązać ten problem, spróbuj wykonać co najmniej jedną z następujących czynności:

  • Zmniejsz liczbę wątków (użytkowników wirtualnych) na aparat testowy. Aby osiągnąć docelową liczbę użytkowników wirtualnych, możesz zwiększyć liczbę wystąpień aparatu dla testu obciążeniowego.

  • Upewnij się, że skrypt jest skuteczny bez nadmiarowego kodu.

  • Jeśli stan kondycji aparatu jest nieznany, uruchom ponownie test.

Określanie żądań na sekundę

Maksymalna liczba żądań na sekundę (RPS), które usługa Azure Load Testing może wygenerować dla testu obciążeniowego, zależy od opóźnienia aplikacji i liczby użytkowników wirtualnych (VU). Opóźnienie aplikacji to całkowity czas wysyłania żądania aplikacji przez aparat testowy do odbierania odpowiedzi. Liczba użytkowników wirtualnych to liczba równoległych żądań, które usługa Azure Load Testing wykonuje w danym momencie.

Aby obliczyć liczbę żądań na sekundę, zastosuj następującą formułę: RPS = (# jednostek wirtualnych) * (1/opóźnienie w sekundach).

Jeśli na przykład opóźnienie aplikacji wynosi 20 milisekund (0,02 sekundy) i generujesz obciążenie 2000 jednostek wirtualnych, możesz osiągnąć około 100 000 RPS (2000 * 1/0,02s).

Aby osiągnąć docelową liczbę żądań na sekundę, skonfiguruj łączną liczbę użytkowników wirtualnych na potrzeby testu obciążeniowego.

Uwaga

Narzędzie Apache JMeter zgłasza tylko żądania wysyłane do serwera i z powrotem, albo zakończone powodzeniem, czy też nie. Jeśli narzędzie Apache JMeter nie może nawiązać połączenia z aplikacją, rzeczywista liczba żądań na sekundę będzie niższa niż maksymalna wartość. Możliwe przyczyny mogą być zbyt zajęte przez serwer do obsługi żądania lub brak certyfikatu TLS/SSL. Aby zdiagnozować problemy z połączeniem, możesz sprawdzić wykres Błędy na pulpicie nawigacyjnym testowania obciążenia i pobrać pliki dziennika testów obciążeniowych.

Wystąpienia aparatu testowego i użytkownicy wirtualni

W skryptycie Apache JMeter można określić liczbę wątków równoległych. Każdy wątek reprezentuje użytkownika wirtualnego, który uzyskuje dostęp do punktu końcowego aplikacji. Zalecamy zachowanie liczby wątków w skrycie poniżej maksymalnie 250.

W usłudze Azure Load Testing wystąpienia aparatu testowego są odpowiedzialne za uruchomienie skryptu Apache JMeter. Wszystkie wystąpienia aparatu testowego działają równolegle. Liczbę wystąpień dla testu obciążeniowego można skonfigurować.

Łączna liczba użytkowników wirtualnych w teście obciążeniowym to: Jednostki wirtualne = (wątki# ) * (# wystąpienia aparatu testowego).

Aby zasymulować docelową liczbę użytkowników wirtualnych, można odpowiednio skonfigurować równoległe wątki w skryptycie JMeter oraz wystąpienia aparatu dla testu obciążeniowego. Monitoruj metryki aparatu testowego, aby zoptymalizować liczbę wystąpień.

Aby na przykład zasymulować 1000 użytkowników wirtualnych, ustaw liczbę wątków w skry skryptzie Apache JMeter na 250. Następnie skonfiguruj test obciążeniowy przy użyciu czterech wystąpień aparatu testowego (czyli 4 x 250 wątków).

Lokalizacja zasobu usługi Azure Load Testing określa lokalizację wystąpień aparatu testowego. Wszystkie wystąpienia aparatu testowego w ramach zasobu testowania obciążenia są hostowane w tym samym regionie świadczenia usługi Azure.