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 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, można skonfigurować liczbę równoległych wystąpień silników testowych. Aby uzyskać optymalny rozkład obciążenia, możesz monitorować metryki stanu instancji testowej na panelu Load Testing w Azure.
Wymagania wstępne
Konto Azure z aktywną subskrypcją. Jeśli nie masz subskrypcji Azure, przed rozpoczęciem utwórz darmowe 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 na wielu równoległych instancjach silnika testowego, Azure Load Testing może zwiększyć liczbę wirtualnych użytkowników, którzy symulują ruch do Twojej 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 adresie URL, opartego na JMeter lub locust, dostępne są różne opcje konfigurowania obciążenia docelowego i wzorca obciążenia. W poniższej tabeli wymieniono różnice między 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 liniowego obciążenia, oparty na czasie zwiększania obciążenia i liczbie użytkowników wirtualnych. |
| Oparte na adresie URL (zaawansowane) | Określ liczbę silników testowych i liczbę użytkowników wirtualnych na instancję w konfiguracji testu obciążeniowego. | Skonfiguruj wzorzec obciążenia (liniowy, krok, skok). |
| Oparte na JMeter | Określ liczbę użytkowników wirtualnych na wystąpienie w skrypcie testowym. Określ liczbę silników testowych w konfiguracji testu obciążeniowego. | Skonfiguruj schemat obciążenia w skrypcie testowym. |
| Bazowane na szarańczy | Określ całkowitą liczbę użytkowników w konfiguracji testu obciążeniowego, pliku konfiguracji locust lub skryptu testowego. Określ liczbę silników testowych w konfiguracji testu obciążeniowego. | Skonfiguruj schemat obciążenia w skrypcie 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:
W witrynie Azure Portal przejdź do zasobu testowania obciążenia platformy Azure.
W obszarze nawigacji po lewej stronie wybierz pozycję Testy , aby wyświetlić wszystkie testy.
Na liście wybierz test obciążeniowy, a następnie wybierz pozycję Edytuj.
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.
Na stronie Podstawowe upewnij się, że wybierz pozycję Włącz ustawienia zaawansowane.
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.
Użyj kontrolki suwaka instancje silnika, aby zaktualizować liczbę równoległych instancji silnika testowego. Alternatywnie wprowadź wartość docelową w polu wejściowym.
Wybierz wartość wzorca ładowania z listy.
Dla każdego wzorca wypełnij odpowiednie ustawienia konfiguracji. Wykres przedstawia wizualną reprezentację wzorca obciążenia i jego parametrów konfiguracji.
Konfigurowanie parametrów obciążenia dla testów opartych na JMeter
Aby określić parametry obciążenia dla testu obciążeniowego opartego na JMeter:
W witrynie Azure Portal przejdź do zasobu testowania obciążenia platformy Azure.
W obszarze nawigacji po lewej stronie wybierz pozycję Testy , aby wyświetlić wszystkie testy.
Na liście wybierz test obciążeniowy, a następnie wybierz pozycję Edytuj.
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.
Na stronie Edytowanie testu wybierz kartę Ładowanie. Użyj kontrolki suwaka Instancji silnika, aby zaktualizować liczbę instancji silnika testowego lub bezpośrednio wprowadź wartość w polu.
Wybierz pozycję Zastosuj , aby zmodyfikować test i użyć nowej konfiguracji po ponownym uruchomieniu.
Konfiguracja parametrów obciążenia dla testów opartych na narzędziu Locust
Aby określić parametry obciążenia dla testu obciążenia opartego na Locust:
W witrynie Azure Portal przejdź do zasobu testowania obciążenia platformy Azure.
W obszarze nawigacji po lewej stronie wybierz pozycję Testy , aby wyświetlić wszystkie testy.
Na liście wybierz test obciążeniowy, a następnie wybierz pozycję Edytuj.
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.
Na stronie Edytowanie testu wybierz kartę Ładowanie. Wprowadź wartości dla ogólnej liczby użytkowników wymaganych i ogólnego współczynnika pojawiania się w odpowiednich polach wejściowych. Liczba instancji silnika wymagana do wygenerowania tego obciążenia wypełnia się automatycznie. Jeśli skrypt testowy jest złożony i obciąża zasoby, użyj kontrolki suwaka instancji silnika, aby zaktualizować liczbę instancji silnika testowego lub bezpośrednio wprowadź wartość w polu wejściowym.
Alternatywnie można skonfigurować liczbę użytkowników i współczynnik generowania w skrypcie testowym lub pliku konfiguracji Locust oraz podać wymaganą liczbę instancji silnika.
- Wybierz pozycję Zastosuj , aby zmodyfikować test i użyć nowej konfiguracji po ponownym uruchomieniu.
Monitorowanie metryk instancji silnika
Aby upewnić się, że wystąpienia silnika testowego nie są wąskim gardłem wydajności, można monitorować metryki zasobów tych wystąpień. 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 zdrowe, jeśli średni procent zużycia CPU lub pamięci podczas testu pozostaje poniżej 75%.
Aby wyświetlić metryki zasobów aparatu:
Przejdź do zasobu testowania obciążenia. W okienku po lewej stronie wybierz pozycję Testy , aby wyświetlić listę testów obciążeniowych.
Na liście wybierz test obciążeniowy, aby wyświetlić listę przebiegów testów.
Na liście przebiegów testowych, wybierz swój przebieg testowy.
Na panelu sterowania przebiegu testu wybierz kondycję silnika, aby wyświetlić metryki zasobów silnika.
Opcjonalnie wybierz określone wystąpienie silnika testowego za pomocą elementów sterujących filtrami.
Rozwiązywanie problemów z niesprawnymi instancjami silnika
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 silnik testowy. Aby osiągnąć docelową liczbę użytkowników wirtualnych, możesz zwiększyć liczbę instancji silnika 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ć żądania na sekundę, użyj formuły: RPS = (liczba Wirtualnych Użytkowników) * (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 / Notatka
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 łącznością, możesz sprawdzić wykres Błędy na pulpicie nawigacyjnym testowania obciążenia i pobrać pliki dziennika testów obciążeniowych.
Wystąpienia silnika testowego i użytkownicy wirtualni do testów opartych na JMeter
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 instancje silnika testowego są odpowiedzialne za wykonywanie 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: VU = (liczba wątków) * (liczba instancji silnika testowego).
Aby zasymulować docelową liczbę użytkowników wirtualnych, można odpowiednio skonfigurować równoległe wątki w skrypcie JMeter oraz instancje silnika 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ń silnika testowego (czyli 4 x 250 wątków).
Lokalizacja zasobu usługi Azure Load Testing określa lokalizację wystąpień silnika testowego. Wszystkie wystąpienia silnika testowego w ramach zasobu testów obciążenia są hostowane w tym samym regionie Azure.
Wystąpienia silnika testowego i użytkownicy wirtualni do testów opartych na Locust
Skonfiguruj łączną liczbę użytkowników wymaganych do testu obciążeniowego. Reprezentuje to szczytową liczbę współbieżnych użytkowników Locust. Można to skonfigurować w konfiguracji obciążenia podczas tworzenia testu w usłudze Azure Load Testing. Można to również ustawić w skrypcie testowym lub w pliku konfiguracyjnym Locust. Zalecamy uruchamianie do 500 użytkowników z instancji silnika testowego.
W usłudze Azure Load Testing wystąpienia silnika testowego są odpowiedzialne za uruchomienie skryptu Locust. Wszystkie wystąpienia aparatu testowego działają równolegle. Liczbę wystąpień dla testu obciążeniowego można skonfigurować.
Łączna liczba silników wymaganych do testu obciążeniowego to: liczba silników = (całkowita liczba użytkowników) / 500.
Jeśli skonfigurujesz łączną liczbę użytkowników w konfiguracji obciążenia, Azure Load Testing automatycznie ustawi liczbę silników. W razie potrzeby można zaktualizować liczbę silników. Monitoruj metryki aparatu testowego, aby zoptymalizować liczbę wystąpień.
Aby na przykład zasymulować 2000 użytkowników, ustaw łączną liczbę użytkowników w konfiguracji obciążenia na 2000. Testowanie obciążenia platformy Azure automatycznie ustawia liczbę aparatów na 4. Zaktualizuj liczbę silników, jeśli jest to wymagane. Jeśli skonfigurowano użytkowników w skryfcie testowym lub pliku konfiguracji Locust jako 2000, ustaw wystąpienia aparatu na 4 w konfiguracji obciążenia.
Lokalizacja zasobu usługi Azure Load Testing określa lokalizację wystąpień silnika testowego. Wszystkie wystąpienia silnika testowego w ramach zasobu testów obciążenia są hostowane w tym samym regionie Azure.
Treści powiązane
- Więcej informacji na temat limitów usług i limitów przydziałów w usłudze Azure Load Testing.