Gå til indholdet

Knyt browser-, API- og databasetider korrekt sammen

Et tænkt listekald viser, hvordan målepunkter knyttes til et anmodnings-id, så overlappende tider ikke tælles flere gange.

Philipp Reuter2 min. læsetid
Stopur med rød viser ved siden af en lang grå statuslinje med et kort rødt afsnit.

En langsom skærm viser ikke, hvor tiden går tabt. En målrettet undersøgelse kræver, at udvikling og drift bruger samme opgave, samme anmodning og tydeligt beskrevne målegrænser.

Følgende eksempel er helt hypotetisk. Identifikatoren req-17, alle tider og forespørgselsstrukturen er opdigtede. Intet kundesystem er målt.

Afgræns en konkret anmodning

Her indlæser en portal en ordreliste med 20 rækker. Disse antagne målinger hører til anmodningen:

Målepunkt

Antaget varighed

Hvad måles

Browser

2400 ms

Indlæsning af API-ressourcen indtil hele svaret er modtaget

API

2300 ms

Behandling af anmodningen i serveren

Databaseadgang

2100 ms

Summen af databasekald, der her udføres efter hinanden under behandlingen

Databasetiden er indeholdt i servertiden, som igen er indeholdt i hentningen. At lægge dem sammen tæller samme tid flere gange. Ved parallelle kald kan summen også overstige den forløbne tid.

Browserens og serverens absolutte starttidspunkter kan ikke blot trækkes fra hinanden uden et passende tidsgrundlag. Brug definerede varigheder og en sporbar tilknytning til samme anmodning.

Undersøg den del, der skiller sig ud

Det opdigtede forløb giver 21 databasekald: en listeforespørgsel og derefter en detaljeforespørgsel pr. række. Den gentagne adgang bliver dermed et konkret undersøgelsespunkt. Et højt antal alene ville ikke bevise strukturen; her er den udtrykkeligt en del af eksemplet.

Undersøg, hvilke oplysninger visningen faktisk behøver. En afgrænset samlet hentning kan være en mulig ændring. Den skal levere de samme tilladte poster. Det følger ikke, at alle data bør hentes i én enorm forespørgsel.

Browserværdien slutter, når ressourcen er modtaget. Den viser ikke, at visningen da er brugbar. Er den stadig blokeret, må behandling, gengivelse og andre ressourcer undersøges særskilt.

Test under sammenlignelige forhold

Noter softwareversion, opgave, datamængde, filtre og rettighedsområde. Samtidig belastning og cachens tilstand hører også med. En tom og en fyldt cache kan give forskellige resultater.

Gentag forløbet før og efter ændringen under passende forhold. Kontroller resultat og adgangsgrænser sammen med tiden. Ét særligt hurtigt kald dokumenterer ikke en generel forbedring.

Adgang til tekniske målinger bør være kontrolleret; kundeindhold er ikke nødvendigt til denne note. Undersøgelsen skal give en begrundet næste ændring med klart omfang, ikke en generel dom over hele applikationens hastighed.

Kilder

Skrevet af

  • Philipp ReuterRedaktør for softwarekvalitetPhilipp Reuter skriver om softwaretest og forberedelse af nye releases hos ASES. Hans artikler handler om fejlanalyse, accepttest og kontrol af ændringer i eksisterende applikationer.

Følg ASES

Læs videre

Alle artikler

Softwareudvikling med ASES

Skræddersyet software, web- og mobilapps