Testarea timpului de răspuns: Cum se măsoară performanța API-ului

⚡ Rezumat inteligent

Testarea timpului de răspuns măsoară timpul necesar unui sistem pentru a răspunde la o solicitare, din momentul în care un utilizator o trimite până în momentul în care aplicația raportează finalizarea. Acest ghid prezintă indicatorii, cele trei praguri importante și instrumentele care le captează.

  • ⏱️ Definiția de bază: Timpul de răspuns acoperă întregul proces dus-întors, de la trimiterea solicitării până la finalizarea procesului.
  • 📊 Trei metrici: Timpul mediu de răspuns, timpul maxim de răspuns și rata de eroare descriu împreună comportamentul sistemului.
  • 🟢 0.1 secunda: Se simte instantaneu, fără nicio întrerupere percepută de utilizator.
  • 🟡 1 secunda: Limita superioară pentru un flux neîntrerupt de gânduri.
  • ???? 10 secunde: Limita atenției, deși în practică utilizatorii abandonează cu mult înainte de asta.
  • 🧪 Metodă de măsurare: Încadrați un proces de business în tranzacții de început și de sfârșit într-un instrument de testare a încărcării.

Testarea timpului de răspuns

Ce este testarea timpului de răspuns?

Testarea timpului de răspuns măsoară timpul necesar unui nod de sistem pentru a răspunde la solicitarea altuia. Este intervalul dintre sosirea unei solicitări și finalizarea procesului corespunzător. De exemplu, aveți un API și doriți să știți exact cât timp durează executarea acesteia și returnarea datelor în JSON. Timpul de răspuns măsoară răspunsul serverului la fiecare tranzacție sau interogare.

Timpul de răspuns începe atunci când un utilizator trimite o solicitare și se termină în momentul în care aplicația afirmă că solicitarea a fost finalizată.

Cum se măsoară timpul de răspuns

Pentru a măsura timpul de răspuns, putem folosi instrumente de testare înconjurând un proces de afaceri important cu tranzacții Start și End. Un proces de afaceri poate fi o acțiune sau un set de acțiuni pe care utilizatorii le efectuează în aplicație pentru a finaliza o sarcină comercială, cum ar fi autentificarea la aplicație sau pentru a cumpăra o carte pe Amazon.com

Testarea timpului de răspuns
Testarea timpului de răspuns

Pentru același proces de Măsurare a timpului de răspuns pentru un API, răspunsul va varia ușor de la instrument la instrument. Iată de ce

  • Pas 1) Metodă de calcul a valorilor colectate de fiecare instrument de testare a timpului de răspuns API
  • Pas 2) Instrumente Simulați viteza de încărcare și de captare, ceea ce poate face diferența în timpul de răspuns
  • Pas 3) Articole suplimentare înregistrate la monitorizarea încărcărilor utilizatorilor
  • Pas 4) Valorile de calcul colectate de fiecare instrument măresc timpul de răspuns datorită consumului mare de resurse.
  • Pas 5) Arhitectura celor două instrumente poate fi diferită

Tipuri de metrici de răspuns

Valorile timpului de răspuns Explicație
Timp mediu de răspuns Timpul mediu de răspuns este timpul mediu luat pentru fiecare solicitare dus-întors. Timpul mediu de răspuns include timpul de încărcare a HTML, CSS, XML, imagini, JavaFișiere script, etc. Prin urmare, media este afectată atunci când componente lente sunt prezente în sistem.
Timp de răspuns maxim Timpul de răspuns maxim ne ajută să găsim componente potențial problematice. Ne ajută să găsim toate neregulile de pe site sau sistem în care o anumită solicitare nu este tratată corect. De exemplu, poate fi executată o interogare mare a bazei de date care poate afecta timpul de răspuns. Această interogare nu permite încărcarea paginii la ora dorită.
Rata de eroare Rata de eroare este un calcul matematic care afișează procentul de solicitări problematice față de toate solicitările. Acest procent numără toate codurile de stare HTTP care afișează o eroare pe server. De asemenea, numără solicitările care expiră.

Trei praguri de timp de răspuns care contează

Două cifre contează cel mai mult în orice raport privind timpul de răspuns:

  • Timpul mediu de răspuns
  • Timpul de răspuns maxim sau de vârf

Împreună, acestea arată cât timp așteaptă de obicei un utilizator și cât așteaptă cel mai ghinionist utilizator.

Următoarele sunt valori cheie pentru testarea timpului de răspuns

Timp De Raspuns Semnificația
0.1 doua Este cel mai preferat timp de răspuns. Dacă timpul de răspuns este 0.1, utilizatorii simt întotdeauna că aplicația sau sistemul răspunde instantaneu și nu simt nicio întrerupere.
1.0 doua Aceasta este limita superioară acceptată pentru o experiență neîntreruptă. Este puțin probabil ca utilizatorii să simtă vreo întrerupere, deși este posibil să întâmpine o oarecare întârziere. Un timp de răspuns mai mare de 1 secundă poate întrerupe experiența utilizatorului.
10 Secunde Este o limită maximă după care timpul de răspuns depășește limita acceptabilă. Cu toate acestea, la ora actuală, dacă timpul de răspuns depășește 6 secunde, utilizatorul va părăsi acel site sau va părăsi aplicația.

Vizați pentru intervalul de 0.1 până la 1 secundă ori de câte ori este posibil. Utilizatorii se adaptează la sisteme mai lente, dar satisfacția scade brusc dincolo de aproximativ 2 secunde, iar fiecare secundă suplimentară crește abandonul.

Instrumente de testare a timpului de răspuns

Sunt disponibile multe instrumente de testare a timpului de răspuns. Două dintre cele mai utilizate sunt:

1) JMeter

Apache JMeter este un instrument open source de testare a încărcării. Este conceput pentru a măsura performanța site-urilor web. Acest instrument de testare a încărcării poate fi utilizat în metodologia DevOps.

JMeter

Caracteristici:

  • JMeter permite efectuarea testului de încărcare și performanță pentru diferite tipuri de servere.
  • Acest instrument de testare a încărcării își stochează planurile de testare în format XML, ceea ce permite utilizatorilor să genereze planul de testare folosind un editor de text.
  • Instrumentul poate fi folosit pentru a efectua automate și testarea funcțională a aplicatiilor.

Download link: Apache JMeter download-uri


2) Încărcare rulotă

Loadrunner de la Micro Focus este un instrument de testare a încărcării utilizat pe scară largă. Este una dintre cele mai bune alternative la JMeter care oferă o interfață de monitorizare și analiză ușor de utilizat, cu diagrame colorate și grafice.

Runner de încărcare

Caracteristici:

  • Sprijină testarea continuă
  • LoadRunner poate funcționa eficient în mai multe medii de întreprindere
  • Este posibil să rulați mai multe scripturi de protocol cu Loadrunner
  • Integrare cu diverse instrumente de dezvoltare, cum ar fi Visual Studio, Jenkins, Selenium, Etc

Download link: LoadRunner Professional

Cum se încadrează acest test în familia de teste de performanță

Testarea performanței este un termen generic. Variantele de mai jos diferă doar prin forma sarcinii aplicate și durata de timp în care este menținută, motiv pentru care sunt atât de des confundate între ele.

Tipul testului Model de încărcare Întrebare îi răspunde
Testare de sarcină Sarcină maximă așteptată, durată scurtă Își îndeplinește sistemul obiectivele în condiții normale de trafic de vârf?
Testare stresanta Crescut peste capacitate până la defecțiune Unde se rupe și cedează cu grație?
Testarea vârfurilor Creștere bruscă și extremă, apoi retragere Supraviețuiește și își revine după un șoc în trafic?
Testare de anduranță Sarcina normală menținută timp de mai multe ore Se degradează performanța în timp?
Testarea prin imersie Sarcină susținută pe o perioadă extinsă Există scurgeri de memorie sau epuizare a resurselor?
Testare de stabilitate Sarcină variabilă în funcție de condiții Sistemul rămâne fiabil chiar și atunci când se schimbă condițiile?
Testarea volumului Utilizatori obișnuiți, volum foarte mare de date Se descurcă pe măsură ce baza de date crește?

Testele de anduranță și testarea la îmbibare sunt adesea tratate ca sinonime. În uzul comun, acestea sunt: ​​ambele suportă o sarcină susținută pentru o perioadă lungă de timp. Acolo unde echipele le disting, testarea de anduranță se concentrează asupra creșterii timpilor de răspuns, în timp ce testarea prin absorbție se concentrează pe consumul de resurse, cum ar fi memoria, identificatorii de fișiere și pool-urile de conexiuni. Rularea uneia dintre ele vă oferă de obicei dovezi pentru ambele.

Testarea timpului de răspuns: Concluzii cheie

  • Timpul de răspuns este timpul necesar unui nod al sistemului pentru a răspunde la solicitarea altuia.
  • Timpul mediu de răspuns în test de performanta este timpul mediu luat pentru fiecare cerere dus-întors.
  • Timpul de răspuns maxim dezvăluie ce componente sunt potențial problematice.
  • Rata de eroare este un calcul matematic care afișează procentul de solicitări de probleme.
  • Trei valori cruciale ale timpului de răspuns sunt: ​​0.1 secunde, 1.0 secunde și 10 secunde.
  • Două dintre cele mai utilizate instrumente de testare a timpului de răspuns sunt JMeter și LoadRunner.

Întrebări frecvente

Latența este timpul de parcurgere a rețelei pentru o solicitare. Timpul de răspuns include latența plus toate procesările și randările serverului. O rețea rapidă poate produce totuși timpi de răspuns slabi dacă serverul este lent.

O medie ascunde valorile aberante. Un sistem cu o medie de 800 ms și o percentilă 95 de 9 secunde eșuează un utilizator din douăzeci, iar doar percentila dezvăluie acest lucru.

Țintește sub 1 secundă pentru acțiuni interactive și sub 2 secunde pentru încărcarea completă a paginii. Peste 3 secunde, abandonul crește brusc, indiferent de ceea ce sugerează limita teoretică de 10 secunde.

Monitorizarea bazată pe inteligență artificială stabilește o linie de bază normală pentru fiecare punct final și semnalează automat abaterile, înlocuind pragurile fixe care generează zgomot în timpul vârfurilor de trafic așteptate.

Da. Modelele antrenate pe baza rulărilor istorice ale performanței pot semnala ce modificări de cod sunt susceptibile să încetinească un endpoint. Confirmați fiecare predicție cu o rulare măsurată reală.

Rezumați această postare cu: