jMeter - Monitorowanie planu testów

W tym rozdziale omówimy sposób tworzenia planu testów przy użyciu narzędzia JMeter do monitorowania serwerów WWW. Zastosowania testów monitora są następujące:

  • Monitory są przydatne do testów warunków skrajnych i zarządzania systemem.

  • W przypadku testów warunków skrajnych monitor dostarcza dodatkowych informacji o wydajności serwera.

  • Monitory ułatwiają dostrzeżenie związku między wydajnością serwera a czasem odpowiedzi po stronie klienta.

  • Jako narzędzie do administrowania systemem monitor zapewnia łatwy sposób monitorowania wielu serwerów z jednej konsoli.

Do monitorowania potrzebujemy Tomcat 5 lub nowszego. Dla naszych celów testowych będziemy monitorować serwer Tomcat 7.0.42. Możesz przetestować dowolny kontener serwletów, który obsługuje rozszerzenie Java Management Extension (JMX). Napiszmy przypadek testowy do monitorowania serwera Tomcat. Najpierw skonfigurujmy nasz serwer tomcat.

Skonfiguruj serwer Tomcat

Rozpoczynamy od otwarcia statusu usługi Tomcat. Aby to zrobić, edytuj plik konfiguracyjny dla użytkowników,<TOMCAT_HOME>/conf/tomcat-users.xml. Ten plik zawiera sekcję tomcat-users (skomentowaną), jak pokazano -

<tomcat-users>

<!--
   <role rolename = "tomcat"/>
   <role rolename = "role1"/>
   <user username = "tomcat" password = "tomcat" roles = "tomcat"/>
   <user username = "both" password = "tomcat" roles = "tomcat,role1"/>
   <user username = "role1" password = "tomcat" roles = "role1"/>
-->

</tomcat-users>

Musimy zmienić tę sekcję, aby dodać role administratora, menedżera, menedżera-gui i przypisać użytkownikowi „admin”. Poprawiony plik jest następujący -

<tomcat-users>

   <role rolename = "manager-gui"/>
   <role rolename = "manager-script"/>
   <role rolename = "manager-jmx"/>
   <role rolename = "manager-status"/>
   <user username = "admin" password = "admin" roles = "manager-gui,manager-script,manager-jmx,manager-status"/>

</tomcat-users>

Teraz uruchom serwer tomcat <TOMCAT_HOME> /bin/startup.sh dla systemu Linux i <TOMCAT_HOME> /bin/startup.bat dla systemu Windows. Po uruchomieniu sprawdź, czy nadzór Tomcat działa, wprowadzając następujący link w przeglądarce -

http://localhost:8080/manager/status?XML=true

W przeglądarce pojawi się okno uwierzytelniania. Wpisz login i hasło Tomcat (w naszym przypadku jest to admin). Następnie przeglądarka wyświetli stan wykonania Tomcata, jak poniżej -

Na powyższym zrzucie ekranu możemy zauważyć kilka rzeczy -

  • W adresie URL zwróć uwagę, że XML = true (zwróć uwagę na wielkość liter) umożliwia przejrzyste wyświetlanie nadzorującego Tomcata niezbędnego do działania narzędzia JMeter.

  • Należy również pamiętać, że są domyślnie dwa złącza. Złącze AJP używane ogólnie w połączeniu z modułem przednim mod_jk Apache HTTPD i złączem HTTP, które jest powszechnie używanym złączem do bezpośredniego dostępu do Tomcata przez port 8080.

Napisz plan testów JMeter

Pozwól nam monitorować serwer Tomcat, pisząc plan testów -

Zmień nazwę planu testów

  • Otwórz okno JMeter, klikając /home/manisha/apache-jmeter2.9/bin/jmeter.sh.

  • Kliknij węzeł Test Plan.

  • Dodaj grupę wątków, jak wyjaśniono w następnym kroku.

Dodaj grupę wątków

  • Kliknij prawym przyciskiem myszy Test Plan → Add → Threads(Users) → Thread Group. Grupa wątków zostanie dodana w węźle Plan testów.

  • Zmień liczbę pętli na wieczną (lub pewną dużą liczbę), aby wygenerować wystarczającą liczbę próbek.

Menedżer autoryzacji HTTP

  • Dodaj Menedżera autoryzacji HTTP do elementu Grupy wątków, wybierając Dodaj → Element konfiguracyjny → Menedżer autoryzacji HTTP. Ten element zarządza uwierzytelnianiem żądanym przez przeglądarkę w celu sprawdzenia stanu serwera Tomcat.

  • Wybierz Menedżera autoryzacji HTTP.

  • Edytuj następujące szczegóły -

    • Username - admin (w zależności od konfiguracji w pliku tomcat-users.xml)

    • Password - admin (w zależności od konfiguracji w pliku tomcatusers.xml)

    • Pozostałe pola są puste.

Dodaj żądanie Sampler-HTTP

Teraz, gdy zdefiniowaliśmy naszych użytkowników, nadszedł czas na zdefiniowanie zadań, które będą wykonywać. Dodajemy element HTTP Request.

  • Kliknij prawym przyciskiem myszy, aby wyświetlić menu Dodaj.

  • Wybierz Dodaj → Sampler → Żądanie HTTP.

  • Następnie wybierz element HTTP Request w drzewie.

  • Edytuj następujące właściwości, jak na poniższym obrazku -

  • W tym elemencie wprowadzane są następujące szczegóły -

    • Name - Stan serwera

    • Server Name or IP - localhost

    • Port - 8080

    • Path - / menedżer / status

    • Parameters- Dodaj parametr żądania o nazwie „XML” zapisany wielkimi literami. Podaj wartość „prawda” małymi literami.

    • Optional Tasks - Zaznacz „Użyj jako monitora” na dole próbnika.

Dodaj stały licznik czasu

Aby okresowo żądać statusu serwera, dodaj stały zegar, który pozwoli na odstęp czasowy między każdym żądaniem. Dodaj licznik czasu do tej grupy wątków, wybierając Dodaj → Czasomierz → Stały licznik czasu.

Wprowadź 5000 milisekund w polu Opóźnienie wątku . Ogólnie rzecz biorąc, używanie interwałów krótszych niż 5 sekund może zwiększyć stres serwera. Dowiedz się, jaki jest dopuszczalny odstęp czasu przed wdrożeniem monitora w środowisku produkcyjnym.

Dodaj odbiorcę

Ostatnim elementem, który musisz dodać do swojego planu testów, jest Listener. Dodajemy dwa rodzaje słuchaczy. Jeden, który przechowuje wyniki w pliku, a drugi, który przedstawia graficzny widok wyników.

  • Wybierz element grupy gwintów.

  • Dodaj odbiornik prostego modułu zapisującego dane Dodaj → Listener → Prosty moduł zapisujący dane.

  • Określ katalog i nazwę pliku wyjściowego (w naszym przypadku jest to /home/manisha/work/sample.csv)

  • Dodajmy kolejnego słuchacza, wybierając element planu testów Dodaj → Listener → Monitoruj wyniki.

Uruchom plan testów

Teraz zapisz powyższy plan testów jako monitor_test.jmx . Wykonaj ten plan testów za pomocą opcji Uruchom → Start.

Wyświetl dane wyjściowe

Wyniki zostaną zapisane w pliku /home/manisha/work/sample.csv. Możesz również zobaczyć wynik graficzny w odbiorniku wyników monitorowania, jak na poniższym obrazku.

Zauważ, że wykres ma podpisy po obu stronach wykresu. Po lewej stronie jest procent, a po prawej jest martwy / zdrowy. Jeśli linia pamięci gwałtownie rośnie i maleje, może to oznaczać problemy z pamięcią. W takich sytuacjach dobrym pomysłem jest profilowanie aplikacji za pomocą Borland OptimizeIt lub JProbe. To, co chcesz zobaczyć, to regularny wzorzec ładowania, pamięci i wątków. Każde błędne zachowanie zwykle wskazuje na słabą wydajność lub jakiś błąd.