Co to jest testowanie obciążenia platformy Azure?

Testowanie obciążenia platformy Azure to w pełni zarządzana usługa testowania obciążenia, która umożliwia generowanie obciążenia na dużą skalę. Usługa symuluje ruch dla aplikacji, niezależnie od tego, gdzie są hostowane. Deweloperzy, testerzy i inżynierowie ds. kontroli jakości mogą używać jej do optymalizowania wydajności, skalowalności lub pojemności aplikacji.

Szybko utwórz test obciążeniowy dla aplikacji internetowej przy użyciu adresu URL i bez wcześniejszej wiedzy na temat narzędzi do testowania. Testowanie obciążenia platformy Azure abstrakcji złożoności i infrastruktury do uruchamiania testu obciążeniowego na dużą skalę.

W przypadku bardziej zaawansowanych scenariuszy testowania obciążenia można utworzyć test obciążeniowy, ponownie używając istniejącego skryptu testowego Apache JMeter, popularnego narzędzia do ładowania i wydajności typu open source. Na przykład plan testu może składać się z wielu żądań aplikacji, chcesz wywołać punkty końcowe inne niż HTTP lub używasz danych wejściowych i parametrów, aby test był bardziej dynamiczny.

Jeśli aplikacja jest hostowana na platformie Azure, usługa Azure Load Testing zbiera szczegółowe metryki zasobów, aby ułatwić identyfikowanie wąskich gardeł wydajności w składnikach aplikacji platformy Azure.

Aby wcześnie przechwycić regresje wydajności aplikacji, dodaj test obciążeniowy w przepływie pracy ciągłej integracji i ciągłego wdrażania (CI/CD). Skorzystaj z kryteriów testowania niepowodzenia, aby zdefiniować i zweryfikować wymagania dotyczące jakości aplikacji.

Testowanie obciążenia platformy Azure umożliwia testowanie prywatnych punktów końcowych aplikacji lub aplikacji hostujących lokalnie. Aby uzyskać więcej informacji, zobacz scenariusze wdrażania testowania obciążenia platformy Azure w sieci wirtualnej.

Na poniższym diagramie przedstawiono omówienie architektury testowania obciążenia platformy Azure.

Diagram that shows the Azure Load Testing architecture.

Uwaga

Na obrazie przeglądu pokazano, jak usługa Azure Load Testing używa usługi Azure Monitor do przechwytywania metryk dla składników aplikacji. Dowiedz się więcej o obsługiwanych typach zasobów platformy Azure.

Dowiedz się więcej o kluczowych pojęciach dotyczących testowania obciążenia platformy Azure.

Scenariusze użycia

Usługa Azure Load Testing używa narzędzia Apache JMeter i obsługuje szeroką gamę typów aplikacji i protokołów komunikacyjnych. Poniższa lista zawiera przykłady obsługiwanych typów aplikacji lub punktów końcowych:

  • Aplikacje internetowe przy użyciu protokołu HTTP lub HTTPS
  • Interfejsy API REST
  • Bazy danych za pośrednictwem JDBC
  • Punkty końcowe oparte na protokole TCP

Za pomocą wtyczek JMeter w skrygcie testowym można przetestować więcej typów aplikacji.

Dzięki funkcji szybkiego testowania możesz przetestować pojedynczy punkt końcowy HTTP oparty na adresach URL. Przekazując skrypt JMeter, można użyć wszystkich protokołów komunikacyjnych obsługiwanych przez JMeter.

Testowanie obciążenia platformy Azure obecnie nie obsługuje innych struktur testowania niż Apache JMeter.

Identyfikowanie wąskich gardeł wydajności przy użyciu testów obciążeniowych o dużej skali

Problemy z wydajnością często pozostają niewykryte, dopóki aplikacja nie zostanie załadowana. Możesz rozpocząć test obciążeniowy na dużą skalę w witrynie Azure Portal, aby dowiedzieć się, jak działa aplikacja pod obciążeniem. Podczas uruchamiania testu pulpit nawigacyjny testowania obciążenia platformy Azure udostępnia metryki po stronie serwera i klienta na żywo.

Po zakończeniu testu obciążeniowego możesz użyć pulpitu nawigacyjnego do analizowania wyników testu i identyfikowania wąskich gardeł wydajności. W przypadku aplikacji hostowanych na platformie Azure pulpit nawigacyjny zawiera szczegółowe metryki zasobów składników aplikacji platformy Azure. Rozpocznij pracę z samouczkiem, aby zidentyfikować wąskie gardła wydajności aplikacji hostowanych na platformie Azure.

Testowanie obciążenia platformy Azure przechowuje historię przebiegów testów i umożliwia wizualne porównywanie wielu przebiegów w celu wykrywania regresji wydajności w czasie.

Możesz również pobrać wyniki testów na potrzeby analizy w narzędziu innej firmy.

Włączanie zautomatyzowanego testowania obciążenia

Testowanie obciążenia platformy Azure można zintegrować w potoku ciągłej integracji/ciągłego wdrażania w znaczących punktach w cyklu projektowania. Na przykład można automatycznie uruchomić test obciążeniowy na końcu każdego przebiegu lub w środowisku przejściowym, aby zweryfikować kompilację kandydata do wydania.

Rozpocznij pracę z dodawaniem testów obciążeniowych do przepływu pracy ciągłej integracji/ciągłego wdrażania, aby szybko zidentyfikować obniżenie wydajności aplikacji pod obciążeniem.

W konfiguracji testowej określ kryteria niepowodzenia testu, aby przechwycić regresje wydajności lub stabilności aplikacji na wczesnym etapie cyklu programowania. Na przykład otrzymuj alerty, gdy średni czas odpowiedzi lub liczba błędów przekracza określony próg.

Testowanie obciążenia platformy Azure automatycznie zatrzyma automatyczny test obciążeniowy w odpowiedzi na określone warunki błędu. Alternatywnie możesz również użyć odbiornika AutoStop w skryscie Apache JMeter. 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. Dowiedz się, jak skonfigurować automatyczne zatrzymywanie dla testu obciążeniowego.

Testowanie obciążenia platformy Azure można wyzwolić z przepływów pracy usługi Azure Pipelines lub GitHub Actions.

Jak działa testowanie obciążenia platformy Azure?

Testowanie obciążenia platformy Azure używa narzędzia Apache JMeter do uruchamiania testów obciążeniowych. Możesz użyć wtyczek Apache JMeter z https://jmeter-plugins.org witryny lub przekazać własny kod wtyczki. Usługa Azure Load Testing obsługuje wszystkie protokoły komunikacyjne obsługiwane przez narzędzie JMeter. Na przykład aby załadować test połączenia bazy danych lub kolejki komunikatów. Dowiedz się więcej o obsługiwanych funkcjach apache JMeter.

Aparaty testów obciążeniowych platformy Azure abstrakcji wymaganej infrastruktury do uruchamiania testu obciążeniowego o dużej skali. Każde wystąpienie aparatu testowego uruchamia skrypt JMeter, aby symulować dużą liczbę użytkowników wirtualnych jednocześnie korzystających z punktów końcowych aplikacji. Podczas tworzenia testu obciążeniowego na podstawie adresu URL (szybkiego testu) testowanie obciążenia platformy Azure automatycznie generuje skrypt testowy JMeter. Aby skalować test obciążeniowy w poziomie, można skonfigurować liczbę aparatów testowych.

Aplikację można hostować w dowolnym miejscu: na platformie Azure, lokalnie lub w innych chmurach. Aby uruchomić test obciążeniowy dla usług, które nie mają publicznego punktu końcowego, wdróż testowanie obciążenia platformy Azure w sieci wirtualnej.

Podczas testu obciążeniowego usługa Azure Load Testing zbiera następujące metryki zasobów i wyświetla je na pulpicie nawigacyjnym:

  • Metryki po stronie klienta zawierają szczegółowe informacje zgłaszane przez aparat testowy. Te szczegóły obejmują liczbę użytkowników wirtualnych, czas odpowiedzi na żądanie lub liczbę żądań na sekundę.

  • Metryki po stronie serwera 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.

Testowanie obciążenia platformy Azure automatycznie uwzględnia najlepsze rozwiązania dotyczące sieci platformy Azure, aby upewnić się, że testy są uruchamiane bezpiecznie i niezawodnie. Testy obciążeniowe są automatycznie zatrzymywane, jeśli punkty końcowe aplikacji lub składniki platformy Azure zaczynają ograniczać żądania.

Usługa automatycznie szyfruje wszystkie dane przechowywane w zasobie testowania obciążenia przy użyciu kluczy zarządzanych przez firmę Microsoft (klucze zarządzane przez usługę). Na przykład te dane obejmują skrypt Apache JMeter, pliki konfiguracji i inne. Alternatywnie możesz również skonfigurować usługę tak, aby korzystała z kluczy zarządzanych przez klienta.

Miejsce przechowywania danych w regionie

Testowanie obciążenia platformy Azure nie przechowuje ani nie przetwarza danych klientów poza regionem, w którym wdrażasz wystąpienie usługi.

Następne kroki

Rozpocznij korzystanie z testowania obciążenia platformy Azure: