Svarstidstestning: Hur man mäter API-prestanda

⚡ Smart sammanfattning

Svarstidstestning mäter hur lång tid det tar för ett system att svara på en begäran, från det ögonblick då en användare skickar den till det ögonblick då applikationen rapporterar att den är klar. Den här guiden täcker mätvärdena, de tre tröskelvärdena som är viktiga och de verktyg som fångar upp dem.

  • ⏱️ Kärndefinition: Svarstiden sträcker sig över hela processen, från att begäran skickas till att processen är slutförd.
  • 📊 Tre mätvärden: Genomsnittlig svarstid, maximal svarstid och felfrekvens beskriver tillsammans systemets beteende.
  • 🟢 0.1 sekund: Känns omedelbar, utan upplevd avbrott för användaren.
  • 🟡 1 sekund: Den övre gränsen för ett oavbrutet tankeflöde.
  • ???? 10 sekunder: Uppmärksamhetens gräns, även om användare i praktiken överger den långt innan dess.
  • 🧪 Mätningsmetod: Slå in en affärsprocess i start- och sluttransaktioner i ett belastningstestverktyg.

Testning av svarstid

Vad är svarstidstestning?

Testning av svarstid mäter den tid det tar för en systemnod att svara på en annans begäran. Det är intervallet mellan att en begäran anländer och att motsvarande process slutförs. Till exempel har du ett API och vill veta exakt hur lång tid det tar att köra det och returnera data i JSON. Svarstid mäter serverns svar på varje enskild transaktion eller fråga.

Svarstiden börjar när en användare skickar en förfrågan och slutar vid den tidpunkt då ansökan anger att förfrågan har slutförts.

Hur man mäter svarstid

För att mäta svarstid, kan vi använda testverktyg genom att omge en viktig affärsprocess med start- och sluttransaktioner. En affärsprocess kan vara en åtgärd eller en uppsättning åtgärder som användare utför i applikationen för att slutföra en affärsuppgift som att logga in på applikationen eller köpa en bok på Amazon.com

Testning av svarstid
Testning av svarstid

För samma process för att mäta svarstid för ett API, kommer svaret att variera något från verktyg till verktyg. Här är varför

  • Steg 1) Metod för att beräkna mätvärden som samlats in av varje testverktyg för API-svarstid
  • Steg 2) Verktyg Simulera belastningen och fångsthastigheten som kan göra skillnad i svarstiden
  • Steg 3) Extra objekt som registreras vid övervakning av användarbelastningar
  • Steg 4) Beräkningsmått som samlas in av varje verktyg ökar svarstiden på grund av hög resursförbrukning.
  • Steg 5) Arkitekturen för de två verktygen kan vara olika

Typer av svarsmått

Svarstidsmått Förklaring
Genomsnittlig responstid Den genomsnittliga svarstiden är den genomsnittliga tid det tar för varje begäran om tur och retur. Den genomsnittliga svarstiden inkluderar laddningstiden för HTML, CSS, XML, bilder, JavaSkriptfiler etc. Därför påverkas genomsnittet när långsamma komponenter finns i systemet.
Högsta svarstid Peak Response Time hjälper oss att hitta potentiellt problematiska komponenter. Det hjälper oss att hitta alla oegentligheter i webbplatsen eller systemet där en viss förfrågan inte hanteras korrekt. Det kan till exempel vara en stor databasfråga som körs som kan påverka svarstiden. Den här frågan tillåter inte att sidan laddas vid önskad tidpunkt.
Felhastighet Felfrekvensen är en matematisk beräkning som visar andelen problemförfrågningar jämfört med alla förfrågningar. Denna procentandel räknar alla HTTP-statuskoder som visar ett fel på servern. Den räknar också förfrågningar som får timeout.

Tre tröskelvärden för svarstid som är viktiga

Två siffror är viktigast i en svarstidsrapport:

  • Genomsnittlig svarstid
  • Maximal, eller topp, svarstid

Tillsammans visar de hur länge en användare vanligtvis väntar, och hur länge den mest oturliga användaren väntar.

Följande är viktiga exempel på svarstidstestvärden

Respons tid Signifikans
0.1 andra Det är mest föredragen svarstid. Om svarstiden är 0.1 känner användarna alltid att applikationen eller systemet svarar omedelbart och känner inga avbrott.
1.0 andra Detta är den accepterade övre gränsen för en oavbruten upplevelse. Användare kommer sannolikt inte att känna av några avbrott, även om de kan uppleva en viss fördröjning. En svarstid på mer än 1 sekund kan störa användarupplevelsen.
10 sekunder Det är en maxgräns varefter svarstiden överskrider den acceptabla gränsen. Men i dagens tid, om svarstiden överstiger 6 sekunder, kommer användaren att lämna den sidan eller avsluta applikationen.

Sikta på intervallet 0.1 till 1 sekund där det är möjligt. Användare anpassar sig till långsammare system, men nöjdheten sjunker kraftigt bortom cirka 2 sekunder, och varje ytterligare sekund ökar antalet övergivna.

Testverktyg för svarstid

Det finns många verktyg för att testa svarstid. Två av de mest använda är:

1) JMeter

Apache JMeter är ett belastningstestverktyg med öppen källkod. Den är utformad för att mäta prestandan på webbplatser. Detta belastningstestverktyg kan användas i DevOps-metodik.

JMeter

Funktioner:

  • JMeter gör det möjligt att utföra belastnings- och prestandatest för olika servertyper.
  • Detta belastningstestverktyg lagrar sina testplaner i XML-format som tillåter användare att generera testplanen med hjälp av en textredigerare.
  • Verktyget kan användas för att utföra automatiserade och funktionstestning av ansökningarna.

Ladda länk: Apache JMeter Nedladdningar


2) Belastningslöpare

Loadrunner från Micro Focus är ett vanligt förekommande verktyg för belastningstestning. Det är ett av de bästa alternativen till JMeter som erbjuder ett användarvänligt gränssnitt för övervakning och analys med färgade diagram och grafik.

Ladda löpare

Funktioner:

  • Stöder kontinuerlig testning
  • LoadRunner kan effektivt arbeta i flera företagsmiljöer
  • Det är möjligt att köra flera protokollskript med Loadrunner
  • Integration med olika utvecklingsverktyg som Visual Studio, Jenkins, SeleniumEtc.

Ladda länk: LoadRunner Professional

Hur detta test passar in i prestationstestfamiljen

Prestandatestning är ett paraplybegrepp. Varianterna nedan skiljer sig endast åt i formen av den applicerade belastningen och hur länge den hålls, vilket är anledningen till att de så ofta förväxlas med varandra.

Testtyp Lastmönster Fråga den svarar
Lasttestning Förväntad toppbelastning, kort varaktighet Uppfyller systemet sina mål under normal trafikbelastning?
Stresstestning Ökade utöver kapaciteten tills fel uppstod Var går det sönder, och fallerar det graciöst?
Spike testning Plötslig extrem ökning, sedan tillbakadragande Överlever och återhämtar den sig från en trafikchock?
Uthållighetstestning Normal belastning hålls i många timmar Försämras prestandan med tiden?
Blötläggningstestning Ihållande belastning under en längre period Finns det minnesläckor eller resursutmattning?
Stabilitetstestning Varierande belastning beroende på förhållanden Förblir systemet tillförlitligt även när förhållandena förändras?
Volymtestning Vanliga användare, mycket stor datamängd Klarar den sig av att databasen växer?

Uthållighets- och blötläggningstestning behandlas ofta som synonymer. Vanligtvis används de som: båda håller en ihållande belastning under en lång period. Där team skiljer dem åt fokuserar uthållighetstestning på om svarstiderna glider uppåt, medan soak-testning fokuserar på resursförbrukning som minne, filreferenser och anslutningspooler. Att köra en ger dig vanligtvis bevis för båda.

Testning av svarstid: Viktiga slutsatser

  • Svarstid är den tid det tar för en systemnod att svara på en begäran från en annan.
  • Den genomsnittliga svarstiden in prestandatester är den genomsnittliga tid det tar för varje begäran om tur och retur.
  • Maximal svarstid avslöjar vilka komponenter som potentiellt är problematiska.
  • Felfrekvensen är en matematisk beräkning som visar procentandelen av problemförfrågningar.
  • Tre avgörande svarstidsvärden är: 0.1 sekunder, 1.0 sekunder och 10 sekunder.
  • Två av de mest använda verktygen för att testa svarstid är JMeter och LoadRunner.

Vanliga frågor

Latens är den tid en begäran tar i nätverket. Svarstiden inkluderar latens plus all serverbearbetning och rendering. Ett snabbt nätverk kan fortfarande ge dåliga svarstider om servern är långsam.

Ett genomsnitt döljer extremvärden. Ett system med ett genomsnitt på 800 ms och en 95:e percentil på 9 sekunder misslyckas med en användare av tjugo, och bara percentilen visar det.

Sikta på under 1 sekund för interaktiva handlingar och under 2 sekunder för helsidladdningar. Övergivande sidor efter 3 sekunder ökar kraftigt, oavsett vad den teoretiska 10-sekundersgränsen antyder.

AI-baserad övervakning etablerar en normal baslinje per slutpunkt och flaggar avvikelser automatiskt, vilket ersätter fasta tröskelvärden som genererar brus under förväntade trafiktoppar.

Ja. Modeller som tränats på historiska prestandakörningar kan flagga vilka kodändringar som sannolikt kommer att bromsa en slutpunkt. Bekräfta varje förutsägelse med en faktisk uppmätt körning.

Sammanfatta detta inlägg med: