Zacznij korzystać z JMeter do testowania wydajności Twojej witryny

Opublikowany: 2022-05-10

Powolne i słabsze strony internetowe nigdy nie przyciągną publiczności. Poza tym, chociaż Twoja witryna może działać błyskawicznie podczas testów, czy wiesz, jak będzie działać w przypadku nagłego wzrostu natężenia ruchu? A może Twoja firma dynamicznie się rozwija, co wymaga dodatkowych integracji i funkcjonalności?

To, czego szukasz, to sposób na przetestowanie wydajności Twojej witryny w różnych scenariuszach. I tu właśnie wkraczają testy wydajności. Głównym celem testowania wydajności jest upewnienie się, że wydajność witryny jest zgodna z oczekiwaniami, zanim zostanie wypuszczona na rynek. Pomaga testować szybkość, niezawodność, czas reakcji i wykorzystanie zasobów. Fantastycznym narzędziem open source do testowania wydajności jest JMeter. Przyjrzyj się bliżej JMeterowi i dowiedz się, jak zaimplementować test w tym artykule.

Testowanie wydajności JMetera

Dlaczego testowanie wydajności

Celem testowania wydajności nie jest znalezienie błędów, ale wyeliminowanie usterek wydajności. Bez przeprowadzenia dokładnych testów wydajności witryna może ucierpieć z powodu problemów, takich jak wolne działanie, gdy kilku użytkowników korzysta z niej jednocześnie, lub słaba użyteczność. Jednym z najważniejszych powodów testowania wydajności jest unikanie przestojów.

Czy wiesz, że około 59% firm z listy Fortune 500 ma co tydzień około 1,6 godziny przestoju? 5-minutowy przestój w 2013 roku kosztował Google.com aż 545 000 USD! Nieoczekiwana awaria usługi internetowej kosztowała Amazon stratę w wysokości 1100 USD na sekundę. Źródło.

Tego wszystkiego można uniknąć, jeśli test wydajności może symulować duże obciążenie serwerów, przeprowadzać testy funkcjonalne, testowanie aplikacji i testowanie protokołów.

Testowanie wydajności za pomocą JMeter

Aplikacja Apache JMeter to oprogramowanie typu open source, aplikacja oparta wyłącznie na Javie, przeznaczona do testowania obciążenia lub testowania wydajności. Po raz pierwszy został zaprojektowany przez Stefano Mazzocchi z Apache Software Foundation. JMeter może symulować duże obciążenie serwera, tworząc mnóstwo wirtualnych współbieżnych użytkowników na serwerze WWW.

Jak JMeter przeprowadza testy?

JMeter tworzy żądanie i wysyła je do serwera. Po otrzymaniu żądania serwera zbiera je i wizualizuje te szczegóły na wykresie lub wykresie. Następnie przetwarza żądanie serwera i ostatecznie generuje wynik testu w kilku formatach, takich jak tekst, XML, JSON. Na podstawie zebranych danych użytkownicy mogą obserwować zachowanie aplikacji i wąskie gardła w wydajności, oferując wgląd w to, gdzie aplikacja wymaga ulepszeń.

Dlaczego JMeter

  • Open source — JMeter to oprogramowanie typu open source, które można pobrać bezpłatnie
  • Niezależna od platformy - JMeter jest rozwijany w Javie, która jest najpopularniejszym językiem programowania na świecie. Dlatego może działać w dowolnym systemie operacyjnym.
  • Obsługa wielu protokołów — JMeter nie tylko wspiera testowanie aplikacji internetowych, ale także ocenia wydajność serwera bazy danych. Wszystkie podstawowe protokoły, takie jak HTTP, JDBC, LDAP, SOAP, JMS i FTP, są obsługiwane przez JMeter.
  • Przyjazny dla użytkownika - JMeter posiada rozbudowany graficzny interfejs użytkownika, który pomaga tworzyć plany testów i konfigurować elementy. Dodawanie elementów jest również łatwe. Musisz tylko kliknąć prawym przyciskiem myszy plan testu i dodać to, co musisz zrobić.

Elementy JMeter

  • Grupa wątków — Grupa wątków to zbiór wątków. Każdy wątek reprezentuje jednego użytkownika korzystającego z AUT. Każdy wątek imituje jedno prawdziwe żądanie użytkownika do serwera.
  • Samplery - JMeter obsługuje testowanie protokołów HTTP, FTP, JDBC i wielu innych. Grupy wątków symulują żądania użytkowników kierowane do serwera. Pomaga grupie wątków wiedzieć, jakiego typu żądania (HTTP, FTP itp.) musi wykonać.
  • Nasłuchiwania — nasłuchiwania ułatwiają przeglądającym przeglądanie wyników Samplerów w postaci tabel, wykresów, drzew lub zwykłego tekstu w niektórych plikach logów.
  • Konfiguracja — elementy konfiguracji w JMeter służą do konfigurowania lub modyfikowania żądań próbnika wysyłanych do serwera.

Jak zainstalować jmeter

Jest tylko jeden warunek wstępny do pobrania i zainstalowania JMeter: mieć zainstalowaną Javę w swoim systemie.

  • Pobierz JMeter i zainstaluj stąd - https://jmeter.apache.org/download_jmeter.cgi
  • Aby uruchomić JMeter: folder Apache jmeter > folder bin > kliknij jmeter.bat

Utwórz plan testów

Krok 1: Dodaj grupę wątków

Przejdź do Dodaj, a następnie Wątki (Użytkownicy) i wybierz Użytkownicy wątków.

Test wydajności

Grupa wątków

Opcje

A. Działania, które należy podjąć po wystąpieniu błędu
B. Liczba wątków - Liczba użytkowników
C. Okres rozpędzania w sekundach - Przerwa czasowa między trafieniami użytkowników
D. Licznik pętli — ile razy test zostanie uruchomiony dla określonej liczby użytkowników

Krok 2: Dodaj żądanie HTTP

Kliknij prawym przyciskiem myszy grupę Thread , dodaj próbnik i kliknij żądanie HTTP.

Opcje

A. Dodaj „Nazwa serwera”
B. Nie podawaj http lub HTTPS, ponieważ są to protokoły, które pojawią się w drugim polu i zostaną automatycznie pobrane w przypadku żądania http.
C. Okno dialogowe Ścieżka → dodaj ukośnik.

Żądanie HTTP

Krok 3: Dodaj słuchacza

Kliknij prawym przyciskiem myszy grupę wątków , dodaj odbiornik i kliknij opcję Wyświetl wynik w tabeli.

Pokaż wyniki

Krok 4: Uruchamianie testu

Zapisz test i kliknij przycisk zielonej strzałki.

Wynik w tabeliZobacz wynik w tabeli

Czas na analizę wyników

  • Numer próbki - nr. wątków lub użytkowników. W raporcie będzie wzmianka, że ​​„to jest próbka numer 1”, co oznacza, że ​​jest to wątek 1, następnie wątek numer 2 i tak dalej.
  • Czas rozpoczęcia — czas rozpoczęcia każdego wątku lub użytkownika
  • Nazwa wątku — nazwa wątku to w zasadzie nazwa grupy wątków. W nazwie grupy wątków mamy numer 1-1 , 1-2… więc ta pierwsza oznacza pierwszą iterację z pierwszym użytkownikiem , pierwszą iterację z drugim użytkownikiem i tak dalej.
  • Etykieta — etykieta to nazwa próbki lub żądania.
  • Czas próbkowania — ile czasu zajęła ta próbka (etykieta) pod względem am/s.
  • Status — status wniosku.
  • Bajty — odebrane bajty
  • Wysłane bajty — bajty, które zostały wysłane
  • Opóźnienie — żądanie czasu od użytkownika/przeglądarki i czas odpowiedzi. Odpowiedź w zakresie żądania wysłanego z serwera do klienta/przeglądarki, która nie obejmuje czasu przetwarzania przez serwer. (tylko czas na żądanie i odpowiedź)
  • Czas połączenia — czas połączenia to czas w milisekundach, przez który aplikacja nawiązała połączenie z serwerem.

Ważne jest, aby wiedzieć, że czas oczekiwania i połączenia powinien być zawsze niski. Wyższy czas połączenia lub opóźnienie oznacza problem z wydajnością witryny.