Testarea sarcinii JMeter
Testarea încărcării JMeter este un proces de testare realizat folosind un instrument de testare a încărcării numit Apache JMeter, care este o aplicație desktop open source bazată pe Java. JMeter pentru testarea încărcării este un instrument crucial care determină dacă aplicația web testată poate satisface sau nu cerințe de încărcare ridicate. De asemenea, vă ajută să analizați serverul general sub sarcină mare.
Testarea performanței JMeter
Testarea performanței JMeter este o metodă de testare efectuată folosind Apache JMeter pentru a testa performanța unei aplicații web. JMeter pentru testarea performanței ajută la testarea atât a resurselor statice, cât și a celor dinamice, ajută la descoperirea utilizatorilor concurenți pe site și oferă o varietate de analize grafice pentru testarea performanței. Testarea performanței JMeter include testul de sarcină și testul de stres al aplicației web.
Instrumentul de testare Apache JMeter oferă următoarele beneficii în testarea performanței
- JMeter poate fi folosit pentru a testa performanța atât a resurselor statice , cum ar fi JavaScript și HTML, cât și a resurselor dinamice , cum ar fi JSP, Servlets și AJAX.
- JMeter poate descoperi numărul maxim de utilizatori simultani pe care site-ul dvs. web îi poate gestiona
- JMeter oferă o varietate de analize grafice ale rapoartelor de performanță.
Testarea performanței JMeter include:
- Testarea încărcării : modelarea utilizării așteptate prin simularea accesului simultan al mai multor utilizatori la serviciile web.
- Testarea stresului : fiecare server web are o capacitate maximă de încărcare. Când încărcarea depășește limita, serverul web începe să răspundă încet și să producă erori. Scopul Testului de stres este de a găsi încărcătura maximă pe care o poate suporta serverul web.
Figura de mai jos arată cum testarea sarcinii JMeter simulează sarcina grea:
Creați un plan de testare a performanței în JMeter
În acest tutorial, facem o analiză a performanței Google.com pentru 1000 de utilizatori
Înainte de a testa performanța aplicației web țintă, ar trebui să determinăm-
- Încărcare normală : numărul mediu de utilizatori care vă vizitează site-ul
- Încărcare grea : numărul maxim de utilizatori care vă vizitează site-ul web
- Care este ținta dvs. în acest test?
Iată foaia de parcurs a acestui exemplu practic
Pasul 1) Adăugați un grup de fire
- Porniți JMeter
- Selectați Test Plan pe copac
- Adăugați un grup de fire
Faceți clic dreapta pe „Planul de testare” și adăugați un nou grup de fire: Adăugați -> Fire (Utilizatori) -> Grup de fire
În panoul de control Thread Group, introduceți Thread Properties după cum urmează:
- Număr de fire : 100 (Numărul de utilizatori conectați la site-ul țintă: 100)
- Număr de bucle : 10 (Numărul de timp pentru executarea testării)
- Perioada de rampa : 100
Numărul de fire și numărul de bucle sunt diferite.
Ramp-Up Period îi spune lui JMeter cât timp trebuie să întârzie înainte de a începe următorul utilizator. De exemplu, dacă avem 100 de utilizatori și o perioadă de Ramp-Up de 100 de secunde, atunci întârzierea între utilizatorii inițiali ar fi de 1 secundă (100 de secunde / 100 de utilizatori)
Pasul 2) Adăugarea elementelor JMeter
Acum stabilim ce elemente JMeter din acest test. Elementele sunt
-
Cerere HTTP Implicit
Acest element poate fi adăugat făcând clic dreapta pe grupul de fire și selectând: Adăugare -> Element de configurare -> Implicite solicitări HTTP.
În panoul de control HTTP Request Defaults, introduceți numele site-ului testat (http://www.google.com)
-
Cerere HTTP
Faceți clic dreapta pe Thread Group și selectați: Add -> Sampler -> HTTP Request .
În Panoul de control HTTP Request, câmpul Path indică ce solicitare URL doriți să trimiteți serverului Google.
De exemplu, dacă introduceți „calendar” în câmpul Cale. JMeter va crea solicitarea URL http://www.google.com/calendar către serverul Google
Dacă păstrați câmpul Căi necompletat, JMeter va crea solicitarea URL http://www.google.com către serverul Google.
În acest test, păstrați câmpul Căi necompletat pentru ca JMeter să creeze cererea URL http://www.google.com către serverul Google.
Pasul 3) Adăugarea rezultatului graficului
JMeter poate afișa rezultatul testului în format grafic.
Faceți clic dreapta pe Plan de testare, Adăugați -> Ascultător -> Rezultate grafice
Pasul 4) Rulați Test și obțineți rezultatul testului
Apăsați butonul Executare (Ctrl + R) de pe Bara de instrumente pentru a începe procesul de testare a software-ului. Veți vedea afișarea rezultatelor testului pe Grafic în timp real.
Imaginea de mai jos prezintă un grafic al unui plan de testare, în care am simulat 100 de utilizatori care au accesat pe site-ul www.google.com.
În partea de jos a imaginii, există următoarele statistici, reprezentate în culori:
- Negru: numărul total de probe curente trimise.
- Albastru: media actuală a tuturor eșantioanelor trimise.
- Roșu: deviația standard curentă.
- Verde: Rata de transfer care reprezintă numărul de solicitări pe minut gestionate de server
Analizați performanța serverului Google în figura de mai jos.
Pentru a analiza performanța serverului web testat, ar trebui să vă concentrați pe 2 parametri
- Randament
- Deviere
Tranzitată este cel mai important parametru. Reprezintă capacitatea serverului de a face față unei sarcini grele. Cu cât este debitul mai mare , cu atât este mai bună performanța serverului.
În acest test, randamentul serverului Google este de 1.491.193 / minut. Înseamnă că serverul Google poate gestiona 1.491.193 de solicitări pe minut. Această valoare este destul de mare, astfel încât putem concluziona că serverul Google are performanțe bune
Abaterea este prezentată în roșu - indică abaterea de la medie. Cu cât este mai mic, cu atât mai bine .
Să comparăm performanța serverului Google cu alte servere web. Acesta este rezultatul testului de performanță al site-ului http://www.yahoo.com/ (Puteți alege alte site-uri web)
Randamentul unui site web testat http://www.yahoo.com este de 867.326 / minute. Înseamnă că acest server gestionează 867.326 de solicitări pe minut, mai puțin decât Google.
Abaterea este 2689, mult mai mare decât Google (577). Deci, putem stabili că performanța acestui site web este mai mică decât un server Google.
NOTĂ: Valorile de mai sus depind de mai mulți factori, cum ar fi încărcarea curentă a serverului la Google, viteza dvs. de internet, puterea procesorului etc. Prin urmare, este foarte puțin probabil să obțineți aceleași rezultate ca mai sus. Deci, nu intrați în panică!
Depanare:
Dacă vă confruntați cu problema în timp ce executați scenariul de mai sus ... faceți următoarele
- Verificați dacă vă conectați la internet prin intermediul unui proxy. Dacă da, eliminați proxy-ul.
- Deschideți o nouă instanță a Jmeter
- Deschideți PerformanceTestPlan.jmx în Jmeter
- Faceți dublu clic pe Grup de fire -> Rezultat grafic
- Rulați testul