Kluczowe pojęcia dotyczące nowych użytkowników testowania obciążenia platformy Azure
Dowiedz się więcej o kluczowych pojęciach i składnikach testowania obciążenia platformy Azure. Te informacje mogą pomóc w bardziej efektywnym skonfigurowaniu testu obciążeniowego w celu zidentyfikowania problemów z wydajnością w aplikacji.
Ogólne pojęcia dotyczące testowania obciążenia
Dowiedz się więcej o kluczowych pojęciach związanych z uruchamianiem testów obciążeniowych.
Użytkownicy wirtualni
Użytkownik wirtualny uruchamia konkretny przypadek testowy względem aplikacji serwera i działa niezależnie od innych użytkowników wirtualnych. Możesz użyć wielu użytkowników wirtualnych do symulowania współbieżnych połączeń z aplikacją serwera.
Narzędzie Apache JMeter odnosi się również do użytkowników wirtualnych jako wątków. W skry skryptie testowym JMeter element grupy wątków umożliwia określenie puli użytkowników wirtualnych. Dowiedz się więcej o grupach wątków w dokumentacji narzędzia Apache JMeter.
Łączna liczba użytkowników wirtualnych testu obciążeniowego zależy od liczby użytkowników wirtualnych w skrycie testowym i liczby wystąpień aparatu testowego.
Formuła to: Łączna liczba użytkowników wirtualnych = (użytkownicy wirtualni w pliku JMX) * (liczba wystąpień aparatu testowego).
Docelową liczbę użytkowników wirtualnych można osiągnąć, konfigurując liczbę wystąpień aparatu testowego, liczbę użytkowników wirtualnych w skry skryptie testowym lub kombinację obu tych typów.
Czas zwiększania
Czas zwiększania czasu to czas, przez który można uzyskać pełną liczbę użytkowników wirtualnych na potrzeby testu obciążeniowego. Jeśli liczba użytkowników wirtualnych wynosi 20, a czas zwiększania się to 120 sekund, przejście do wszystkich 20 użytkowników wirtualnych zajmuje 120 sekund. Każdy użytkownik wirtualny rozpocznie 6 (120/20) sekund po uruchomieniu poprzedniego użytkownika.
Czas odpowiedzi
Czas odpowiedzi pojedynczego żądania lub czas, który upłynął w JMeter, to całkowity czas od tuż przed wysłaniem żądania do tuż po odebraniu ostatniej odpowiedzi. Czas odpowiedzi nie obejmuje czasu renderowania odpowiedzi. Żaden kod klienta, taki jak JavaScript, nie jest przetwarzany podczas testu obciążeniowego.
Opóźnienie
Opóźnienie pojedynczego żądania to całkowity czas od tuż przed wysłaniem żądania do tuż po odebraniu pierwszej odpowiedzi. Opóźnienie obejmuje wszystkie operacje przetwarzania potrzebne do zebrania żądania i zebrania pierwszej części odpowiedzi.
Żądania na sekundę (RPS)
Żądania na sekundę (RPS) lub przepływność to całkowita liczba żądań do aplikacji serwera generowanej przez test obciążeniowy na sekundę.
Formuła to: RPS = (liczba żądań) / (łączny czas w sekundach).
Czas jest obliczany od początku pierwszej próbki do końca ostatniej próbki. Ten czas obejmuje wszelkie interwały między próbkami, na przykład jeśli skrypt testowy zawiera czasomierze.
Innym sposobem obliczenia rpS jest oparcie o średnie opóźnienie aplikacji i liczbę użytkowników wirtualnych. Aby zasymulować określoną liczbę żądań rpS z testem obciążeniowym, biorąc pod uwagę opóźnienie aplikacji, możesz następnie obliczyć wymaganą liczbę użytkowników wirtualnych.
Formuła to: Użytkownicy wirtualni = (RPS) * (opóźnienie w sekundach).
Na przykład biorąc pod uwagę opóźnienie aplikacji 20 milisekund (0,02 sekund), aby symulować 100 000 RPS, należy skonfigurować test obciążeniowy z 2000 użytkowników wirtualnych (100 000 * 0,02).
Składniki testowania obciążenia platformy Azure
Dowiedz się więcej o kluczowych pojęciach i składnikach testowania obciążenia platformy Azure. Na poniższym diagramie przedstawiono sposób, w jaki różne koncepcje odnoszą się do siebie nawzajem.
Zasób testowania obciążenia
Zasób testowania obciążenia platformy Azure to zasób najwyższego poziomu dla działań związanych z testowaniem obciążenia. Ten zasób udostępnia scentralizowane miejsce do wyświetlania testów obciążeniowych, wyników testów i powiązanych artefaktów oraz zarządzania nimi.
Podczas tworzenia zasobu testu obciążeniowego należy określić jego lokalizację, która określa lokalizację aparatów testowych. Testowanie obciążenia platformy Azure automatycznie szyfruje wszystkie artefakty w zasobie. Możesz wybrać między kluczami zarządzanymi przez firmę Microsoft lub użyć własnych kluczy zarządzanych przez klienta na potrzeby szyfrowania.
Aby uruchomić test obciążeniowy dla aplikacji, należy dodać test do zasobu testowania obciążenia. Zasób może zawierać zero lub więcej testów.
Możesz użyć kontroli dostępu opartej na rolach platformy Azure, aby udzielić dostępu do zasobu testowania obciążenia i powiązanych artefaktów.
Testowanie obciążenia platformy Azure umożliwia używanie tożsamości zarządzanych do uzyskiwania dostępu do usługi Azure Key Vault na potrzeby przechowywania parametrów lub certyfikatów wpisów tajnych testu obciążenia. Możesz użyć tożsamości zarządzanej przypisanej przez użytkownika lub przypisanej przez system.
Test
Test opisuje konfigurację testu obciążeniowego dla aplikacji. Dodasz test do istniejącego zasobu testowania obciążenia platformy Azure.
Test zawiera plan testu, który opisuje kroki wywoływania punktu końcowego aplikacji. Plan testu można zdefiniować na jeden z trzech sposobów:
- Przekaż skrypt testowy JMeter.
- Przekaż skrypt testowy locust.
- Określ listę punktów końcowych adresu URL do przetestowania.
Usługa Azure Load Testing obsługuje wszystkie protokoły komunikacyjne obsługiwane przez narzędzie JMeter, nie tylko punkty końcowe oparte na protokole HTTP. Na przykład możesz chcieć odczytać lub zapisać w bazie danych lub kolejce komunikatów w skrycie testowym.
Testowanie obciążenia platformy Azure obecnie nie obsługuje innych platform testowania niż Apache JMeter i Locust.
Test określa również ustawienia konfiguracji uruchamiania testu obciążeniowego:
- Parametry testu obciążenia, takie jak zmienne środowiskowe, wpisy tajne i certyfikaty.
- Konfiguracja obciążenia w celu skalowania testu obciążeniowego w poziomie w wielu wystąpieniach aparatu testowego.
- Kryteria niepowodzenia, aby określić, kiedy test powinien zakończyć się powodzeniem lub niepowodzeniem.
- Ustawienia monitorowania umożliwiające skonfigurowanie listy składników aplikacji platformy Azure i metryk zasobów do monitorowania podczas przebiegu testu.
Ponadto można przekazać pliki danych wejściowych CSV i przetestować pliki konfiguracji do testu obciążeniowego.
Po uruchomieniu testu usługa Azure Load Testing wdraża skrypt testowy, powiązane pliki i konfigurację w wystąpieniach aparatu testowego. Wystąpienia aparatu testowego następnie inicjują skrypt testowy w celu symulowania obciążenia aplikacji.
Za każdym razem, gdy rozpoczynasz test, usługa Azure Load Testing tworzy przebieg testu i dołącza go do testu.
Przebieg testu
Przebieg testu reprezentuje jedno wykonanie testu obciążeniowego. Po uruchomieniu testu przebieg testu zawiera kopię ustawień konfiguracji ze skojarzonego testu.
Po zakończeniu przebiegu testu możesz wyświetlić i przeanalizować wyniki testu obciążeniowego na pulpicie nawigacyjnym testowania obciążenia platformy Azure w witrynie Azure Portal.
Alternatywnie możesz pobrać dzienniki testów i wyeksportować plik wyników testu.
Ważne
Podczas aktualizowania testu istniejące przebiegi testu nie dziedziczą automatycznie nowych ustawień z testu. Nowe ustawienia są używane tylko przez nowe przebiegi testów podczas uruchamiania testu. Jeśli uruchomisz ponownie istniejący przebieg testu, zostaną użyte oryginalne ustawienia przebiegu testu.
Aparat testowy
Aparat testowy to infrastruktura obliczeniowa zarządzana przez firmę Microsoft, która uruchamia skrypt testowy. Wystąpienia aparatu testowego uruchamiają równolegle skrypt testowy. Test obciążeniowy można skalować w poziomie, konfigurując liczbę wystąpień aparatu testowego. Dowiedz się, jak skonfigurować liczbę użytkowników wirtualnych lub symulować docelową liczbę żądań na sekundę.
Aparaty testowe są hostowane w tej samej lokalizacji co zasób testowania obciążenia platformy Azure. Region świadczenia usługi Azure można skonfigurować podczas tworzenia zasobu testowania obciążenia platformy Azure.
Podczas uruchamiania skryptu testowego usługa Azure Load Testing zbiera i agreguje dzienniki struktury testowania ze wszystkich wystąpień aparatu testowego. Dzienniki analizowania błędów podczas testu obciążeniowego można pobrać.
Składnik aplikacji
Po uruchomieniu testu obciążeniowego dla aplikacji hostowanej na platformie Azure można monitorować metryki zasobów dla różnych składników aplikacji platformy Azure (metryki po stronie serwera). Podczas uruchamiania testu obciążeniowego i po zakończeniu testu można monitorować i analizować metryki zasobów na pulpicie nawigacyjnym testowania obciążenia platformy Azure.
Podczas tworzenia lub aktualizowania testu obciążeniowego można skonfigurować listę składników aplikacji, które będą monitorowane przez usługę Azure Load Testing. Możesz zmodyfikować listę domyślnych metryk zasobów dla każdego składnika aplikacji.
Dowiedz się więcej o typach zasobów platformy Azure, które obsługuje usługa Azure Load Testing.
Metryki
Podczas testu obciążeniowego usługa Azure Load Testing zbiera metryki dotyczące wykonywania testu. Istnieją dwa typy metryk:
Metryki po stronie klienta są zgłaszane przez aparaty testowe. Te metryki obejmują liczbę użytkowników wirtualnych, czas odpowiedzi żądania, liczbę żądań zakończonych niepowodzeniem lub liczbę żądań na sekundę. Można zdefiniować kryteria testu niepowodzenia na podstawie tych metryk po stronie klienta.
Metryki po stronie serwera są dostępne dla aplikacji hostowanych na platformie Azure i zawierają informacje o składnikach aplikacji platformy Azure. Testowanie obciążenia platformy Azure integruje się z usługą Azure Monitor, w tym z usługami Application Szczegółowe informacje i Container Insights, aby przechwycić szczegóły z usług platformy Azure. W zależności od typu usługi dostępne są różne metryki. Na przykład metryki mogą być przeznaczone dla liczby odczytów bazy danych, typu odpowiedzi HTTP lub użycia zasobów kontenera.
Powiązana zawartość
Znasz teraz kluczowe pojęcia związane z testowaniem obciążeniowym platformy Azure, aby rozpocząć tworzenie testu obciążeniowego.
- Dowiedz się, jak działa testowanie obciążenia platformy Azure.
- Dowiedz się, jak utworzyć i uruchomić test obciążeniowy oparty na adresach URL dla witryny internetowej.
- Dowiedz się, jak zidentyfikować wąskie gardło wydajności w aplikacji platformy Azure.
- Dowiedz się, jak skonfigurować automatyczne testowanie regresji za pomocą ciągłej integracji/ciągłego wdrażania.