Kontrolery w JMeter: Pętla, Logika, Transakcja

⚡ Inteligentne podsumowanie

Kontrolery logiczne w JMeter określić kolejność, w jakiej żądania użytkownika są uruchamiane w wątku, przy użyciu kontrolerów takich jak Loop, Random, Simple, Module i Recordingping w jaki sposób plan testów wydajnościowych wysyła żądania do serwera.

  • 🎛️ Kontrolery logiczne: Kontrolery ustalają kolejność wykonywania żądań w wątku.
  • 🔁 Kontroler pętli: Uruchamia sampler ustaloną liczbę razy w pętli wątku.
  • 🎲 Kontroler losowy: Wykonuje żądania dziecka w losowej kolejności w każdej pętli.
  • 🧩 Kontroler modułu: Dodaje modułowość poprzez wybór uruchamianego modułu.
  • ⏺️. Kontroler nagrywania: Przechowuje zarejestrowane kroki testowe jako symbol zastępczy.
  • 🤖 Pomoc AI: Sztuczna inteligencja pomaga projektować i analizować JMeter plany testów wydajnościowych.

Kontrolery w JMeter

Co to jest kontroler logiczny?

Kontrolery logiczne pozwalają zdefiniować kolejność przetwarzania żądań w wątku. Pozwala kontrolować, „kiedy” wysłać żądanie użytkownika do serwera WWW. Można na przykład użyć kontrolerów losowych do losowego wysyłania żądań HTTP do serwera

Kontrolery logiczne określają zamówienie w którym realizowane jest żądanie użytkownika.

Poniżej znajdują się niektóre powszechnie używane sterowniki logiczne:

Kontroler logiczny

Kontroler nagrywania

JMeter mogą rekord Twój Testy kroki; kontroler nagrywania to a zastępczy aby zapisać te kroki nagrywania.

Kontroler nagrywania

Prosty kontroler

Prosty kontroler to po prostu pojemnik na żądanie użytkownika.

Prosty kontroler

Kontroler pętli

Loop Controller uruchamia żądanie użytkownika określoną liczbę razy lub biegać na zawsze jak pokazano na rysunku:

Kontroler pętli

Losowy kontroler

Random Controller powoduje uruchomienie wszystkich żądań użytkowników losowy kolejność w każdym okresie pętli.

Na przykład masz 3 żądania użytkowników do witryny internetowej http://www.google.com w następującej kolejności:

  1. Żądanie HTTP
  2. Żądanie FTP
  3. Żądanie JDBC

Te 3 żądania powinny zostać uruchomione 5 razy. Łącznie zostanie wysłanych 15 żądań użytkownika. Google serwer przez JMeter.

In ciągły zamówienie, żądania są wysyłane sekwencyjnie w następującej kolejności:

Żądanie HTTP -> Żądanie FTP -> Żądanie JDBC

dla każdej pętli.

Losowy kontroler

In przypadkowy zamówienie, żądania są wysyłane jako losowo,

Żądanie FTP -> Żądanie HTTP -> Żądanie JDBC

Or

Żądanie JDBC -> Żądanie FTP-> Żądanie HTTP

Dla każdej pętli.

Kontroler modułu

Celem modułu kontrolera jest dodanie modułowości JMeter.

Ogólna koncepcja polega na tym, że aplikacje internetowe składają się z małych jednostek funkcjonalnych (np. logowanie, tworzenie konta, wylogowywanie…). Funkcjonalność ta może być przechowywana w kontrolerze Simple Controller jako „moduły”. Kontroler modułów wybiera, który moduł ma zostać uruchomiony.

Kontroler modułu

Rozważ następujący scenariusz –

Chcesz symulować:

  • użytkownicy 50 wylogowuję się,
  • użytkownicy 100 Logowanie
  • użytkownicy 30 szukaj www.google.com

Możesz użyć JMeter aby utworzyć 3 moduły. Każdy moduł symuluje każdą aktywność użytkownika: logowanie, wylogowanie i wyszukiwanie.

Kontroler modułu

Kontroler modułu wybiera, który moduł ma działać.

Kontroler modułu

Inne ważne kontrolery

  • Przekładać Kontroler: podnosi i robi pierwszej uruchomionego żądania użytkownika każdy pętla wątku.
  • Czas pracy Kontroler: kontrola jak długo jego dzieci mogą biegać.

Na przykład, jeśli określono Runtime Controller 10 sekund, JMeter uruchomi Twój test na 10 sekund.

Inne ważne kontrolery

  • Transakcja Kontroler: mierzy całkowity czas zabrany do koniec wykonanie testowe
  • Zawierać Kontroler: jest przeznaczony do korzystania z zewnętrznego planu testów. Ten kontroler umożliwia korzystanie z wielu planów testów w JMeter. Zobacz szczegóły w JMeter Test wydajności.

Przykład kontrolera pętli

W tej sekcji znajdują się instrukcje krok po kroku dotyczące dodawania Kontroler pętli ustawiony na bieżący plan testów wydajności.

Kontroler pętli powoduje, że próbniki uruchamiają się określoną liczbę razy, oprócz wartości pętli określonej dla grupy wątków. Na przykład, jeśli ty

  • Dodaj jedno żądanie HTTP do kontrolera pętli z liczbą pętli 50
  • Skonfiguruj liczbę pętli grupy wątków na 2
  • Następnie, JMeter wyśle ​​w sumie 50 * 2 = 100 żądań HTTP.

To jest mapa drogowa tego przykładu:

Przykład kontrolera pętli

Krok 1) Konfiguracja grupy wątków

We ponowne użycie Krok 1, 2 w samouczku JMeter Test wydajności.

  1. Dodaj grupę wątków

Kliknij prawym przyciskiem myszy na Plan testów i dodaj nową grupę wątków: Dodaj-> Wątki (Użytkownicy) ->Grupa wątków

Ale w panelu sterowania grupy wątków wprowadź Właściwości wątku w następujący sposób:

Dodaj grupę wątków

Uczyni to pierwszej żądanie użytkownika do serwera internetowego google.com i uruchom je 2 razy.

  1. Dodaj JMeter Elementy

Dodaj domyślne żądanie HTTP do www.google.com.

  1. Dodawanie kontrolera pętli

Kliknij prawym przyciskiem myszy grupę wątków -> kontroler logiczny -> kontroler pętli

Dodawanie kontrolera pętli

Krok 2) Konfiguracja kontrolera pętli

Dodaj wartość 50 do pola Liczba pętli, jak pokazano na poniższym rysunku. Uczyni to pierwszej żądanie użytkownika do serwera WWW google.com Uruchom 50 razy, oprócz wartości pętli =2 określonej dla powyższej grupy wątków.So JMeter wyśle ​​w sumie 2 * 50 = 100 Żądania HTTP.

Konfiguracja kontrolera pętli

Kliknij prawym przyciskiem myszy Kontroler pętli, Dodaj -> Próbnik -> Żądanie HTTP

Konfiguracja kontrolera pętli

Krok 3) Dodaj Wyświetl wyniki w tabeli

Ponownie używamy kroku 2 w Regulator czasowy aby dodać Wyświetl wyniki w tabeli

Zatem plan testów pokazano na poniższym rysunku

Dodaj Wyświetl wyniki w tabeli

Krok 4) Uruchom test

Teraz wróć do Wyświetl wyniki w tabeli i kliknij przycisk Start na pasku menu (Ctrl+R), aby uruchomić test

Jak pokazano na poniższym rysunku, JMeter symuluje jedno żądanie użytkownika, który jest wysyłany 100 razy do serwera WWW http://www.google.com/. Test zostaje zatrzymany po 100-krotnym wysłaniu żądania użytkownika.

Uruchom test

Rozwiązywanie problemów

  1. Jeśli napotkasz problem podczas realizacji powyższego scenariusza, wykonaj następujące czynności
  2. Sprawdź, czy łączysz się z Internetem za pośrednictwem serwera proxy. Jeśli tak, usuń serwer proxy.
  3. Otwórz nową instancję Jmeter
  4. Otwórz ControllerTestPlan.jmx w Jmeter
  5. Kliknij Grupa wątków -> Wyświetl wynik w tabeli
  6. Uruchom test

FAQ

Próbnik wysyła rzeczywiste żądanie do serwera, takie jak żądanie HTTP lub JDBC. Kontroler logiczny sam nie wysyła żądań; kontroluje kolejność i warunki, w jakich jego próbniki podrzędne działają w wątku.

Kontroler transakcji mierzy całkowity czas potrzebny na wykonanie grupy próbników jako pojedynczej transakcji. Jest to przydatne do pomiaru czasu wieloetapowego procesu biznesowego, takiego jak logowanie i wyszukiwanie, zamiast pomiaru czasu dla każdego żądania osobno.

Mnożą się. Jeśli kontroler pętli jest ustawiony na 50, a liczba pętli grupy wątków wynosi 2, każdy sampler w kontrolerze uruchamia się 50 razy na iterację, co daje łącznie 50 razy 2, czyli 100 żądań.

Tak. Sztuczna inteligencja może sugerować realistyczne modele obciążenia, generować dane testowe i analizować wykresy wyników, aby sygnalizować wąskie gardła. Uczenie maszynowe wykrywa anomalie wydajności i przewiduje wydajność.ping inżynierowie projektują i interpretują JMeter testy szybciej.

Sztuczna inteligencja modeluje oczekiwane wzorce obciążenia, automatycznie dostraja parametry testowe i analizuje metryki, aby wykryć regresje i przyczyny źródłowe. Te inteligentne funkcje sprawiają, że testy wydajności są bardziej predykcyjne, przekształcając surowe dane. JMeter wyniki w postaci użytecznych informacji na temat możliwości.

Podsumuj ten post następująco: