Kontrolery w JMeter: Pętla, Prosta, Transakcja, Moduł, Losowa

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 Testowanie 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 15 żądań użytkowników zostanie wysłanych na serwer Google do dnia 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 jest taka, że ​​aplikacje internetowe składają się z małych jednostek funkcjonalności (np. logowanie, tworzenie konta, wylogowywanie…). Ta funkcjonalność może być przechowywana w Prosty kontroler jako „moduły”. Kontroler modułu wybierze, który moduł ma działać.

Kontroler modułu

Rozważ następujący scenariusz –

Chcesz symulować:

  • użytkownicy 50 wylogowuję się,
  • użytkownicy 100 Logowanie
  • użytkownicy 30 szukanie 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