Co to jest kontroler logiczny?
Kontrolery logiczne pozwalają zdefiniować kolejność przetwarzania żądania w wątku. Pozwala kontrolować „kiedy” wysłać żądanie użytkownika do serwera WWW. Na przykład można użyć kontrolerów losowych do losowego wysyłania żądań HTTP do serwera
Kontrolery logiczne określają kolejność, w jakiej wykonywane jest żądanie użytkownika.
Poniżej przedstawiono niektóre powszechnie używane kontrolery logiczne:
Kontroler nagrywania:
JMeter może rejestrować kroki testowania; kontroler nagrywania jest symbolem zastępczym do przechowywania tych kroków nagrywania.
Prosty kontroler:
Prosty kontroler to tylko kontener na żądanie użytkownika.
Kontroler pętli:
Kontroler pętli sprawia, że żądanie użytkownika jest uruchamiane określoną liczbę razy lub trwa w nieskończoność, jak pokazano na rysunku:
Losowy kontroler:
Random Controller sprawia, że wszystkie żądania użytkownika są uruchamiane w losowej kolejności w każdym okresie pętli.
Na przykład masz 3 żądania użytkowników do witryny http://www.google.com w następującej kolejności:
- Żądanie HTTP
- Żądanie FTP
- Żądanie JDBC
Te 3 żądania powinny zostać uruchomione 5 razy. Łącznie 15 żądań użytkowników zostanie wysłanych na serwer Google przez JMeter.
W sekwencyjnej kolejności wnioski wysyłane są sekwencyjnie w następującej kolejności:
Żądanie HTTP -> Żądanie FTP -> Żądanie JDBC
dla każdej pętli.
W kolejności losowej wnioski są wysyłane losowo,
Żądanie FTP -> Żądanie HTTP -> Żądanie JDBC
Lub
Żądanie JDBC -> Żądanie FTP -> Żądanie HTTP
Dla każdej pętli.
Kontroler modułu:
Celem kontrolera modułu jest dodanie modułowości do JMeter.
Ogólna idea jest taka, że aplikacje internetowe składają się z małych jednostek funkcjonalności (np. Logowanie, tworzenie konta, wylogowywanie…). Funkcjonalność tę można przechowywać w Simple Controller jako „moduły”. Kontroler modułu wybierze, który moduł ma zostać uruchomiony.
Rozważ następujący scenariusz -
Chcesz zasymulować:
- Wylogowujących się 50 użytkowników ,
- 100 użytkowników logowaniem
- 30 użytkowników przeszukuje witrynę www.google.com
Możesz użyć JMeter do stworzenia 3 modułów. Każdy moduł symuluje aktywność każdego użytkownika: logowanie, wylogowanie i wyszukiwanie.
Sterownik modułu wybiera, który moduł ma zostać uruchomiony.
Inne ważne kontrolery:
- Kontroler przeplotu : odbiera i uruchamia jedno żądanie użytkownika w każdej pętli wątku.
- Kontroler środowiska wykonawczego : kontroluje, jak długo mogą działać jego elementy podrzędne.
Na przykład, jeśli określono Runtime Controller na 10 sekund, JMeter będzie przeprowadzał test na 10 sekund.
- Kontroler transakcji : mierzy całkowity czas potrzebny do zakończenia wykonania testu
- Dołącz 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 Performance Testing.
Przykład kontrolera pętli
Ta sekcja zawiera instrukcje krok po kroku, jak dodać zestaw kontrolera pętli do bieżącego planu testów wydajności.
Kontroler pętli powoduje, że samplery działają 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 łącznie 50 * 2 = 100 żądań HTTP.
Oto mapa drogowa tego przykładu:
Krok 1) Konfiguracja grupy wątków
Możemy ponownie wykorzystać ten etap 1, 2 w tutorialu JMeter do testowania wydajności.
-
Dodaj grupę wątków
Kliknij prawym przyciskiem myszy Plan testów i dodaj nową grupę wątków: Dodaj -> Wątki (Użytkownicy) -> Grupa wątków
Ale w panelu sterowania Grupa wątków wprowadź Właściwości wątku w następujący sposób:
Spowoduje to wysłanie jednego żądania użytkownika do serwera internetowego google.com i uruchomienie go 2 razy.
-
Dodaj elementy JMeter
Dodaj domyślne żądanie HTTP do www.google.com.
-
Dodawanie kontrolera pętli
Kliknij prawym przyciskiem myszy grupę wątków -> Kontroler logiczny -> Kontroler pętli
Krok 2) Konfiguracja kontrolera pętli
Dodaj wartość 50 do pola Licznik pętli, jak na poniższym rysunku. Spowoduje to, że jedno żądanie użytkownika do serwera internetowego google.com uruchomi je 50 razy, oprócz wartości pętli = 2, określonej dla powyższej grupy wątków, więc JMeter wyśle łącznie 2 * 50 = 100 żądań HTTP.
Kliknij prawym przyciskiem Kontroler pętli, Dodaj -> Próbnik -> Żądanie HTTP
Krok 3) Dodaj wyniki widoku w tabeli
Ponownie używamy kroku 2 w Timerze, aby dodać Wyświetl wyniki w tabeli
Tak więc plan testów pokazano na poniższym rysunku
Krok 4) Uruchom test
Teraz wróć Wyświetl wyniki w tabeli, kliknij przycisk Start na pasku menu (Ctrl + R), aby uruchomić test
Jak pokazano na poniższym rysunku, JMeter symuluje jedno żądanie użytkownika, które jest wysyłane 100 razy do serwera WWW http://www.google.com/. Test jest zatrzymywany po wysłaniu żądania użytkownika 100 razy.
Rozwiązywanie problemów:
- Jeśli napotkasz problem podczas wykonywania powyższego scenariusza… wykonaj następujące czynności
- Sprawdź, czy łączysz się z Internetem przez proxy. Jeśli tak, usuń proxy.
- Otwórz nową instancję Jmeter
- Otwórz plik ControllerTestPlan.jmx w Jmeter
- Kliknij Grupa wątków -> Wyświetl wynik w tabeli
- Uruchom test