Gå til innholdet

Knytt nettleser-, API- og databasetider riktig sammen

Et tenkt kall som henter en liste, knytter målegrensene til en forespørsels-ID, slik at tider som inngår i hverandre, ikke telles flere ganger.

Philipp Reuter2 min lesetid
Stoppeklokke med rød viser ved siden av en lang grå fremdriftslinje med en kort rød del.

En treg skjerm viser ikke hvor tiden går tapt. En målrettet undersøkelse krever at utvikling og drift bruker samme oppgave, samme forespørsel og tydelig beskrevne målegrenser.

Følgende eksempel er helt hypotetisk. Identifikatoren req-17, alle tider og spørringsstrukturen er oppdiktet. Ingen kundesystemer er målt.

Avgrens en konkret forespørsel

Her laster en portal en bestillingsliste med 20 rader. Disse antatte målingene tilhører forespørselen:

Målepunkt

Antatt varighet

Hva som måles

Nettleser

2400 ms

Lasting av API-ressursen til hele svaret er mottatt

API

2300 ms

Behandling av forespørselen i serveren

Databasetilgang

2100 ms

Summen av databasekall som her utføres etter hverandre under behandlingen

Databasetiden inngår i servertiden, som igjen inngår i hentingen. Å legge dem sammen teller samme tid flere ganger. Ved parallelle kall kan summen også overstige den forløpte tiden.

Nettleserens og serverens absolutte starttidspunkter kan ikke bare trekkes fra hverandre uten et passende tidsgrunnlag. Bruk definerte varigheter og en sporbar tilknytning til samme forespørsel.

Undersøk delen som skiller seg ut

Det oppdiktede forløpet gir 21 databasekall: en listespørring og deretter en detaljspørring per rad. Den gjentatte tilgangen blir dermed et konkret undersøkelsespunkt. Et høyt antall alene ville ikke bevist strukturen; her er den eksplisitt del av eksemplet.

Undersøk hvilken informasjon visningen faktisk trenger. En avgrenset samlet henting kan være en mulig endring. Den må levere de samme tillatte postene. Det følger ikke at alle data bør hentes i én enorm spørring.

Nettlesertiden slutter når ressursen er mottatt. Den beviser ikke at visningen da er brukbar. Er den fortsatt blokkert, må behandling, gjengivelse og andre ressurser undersøkes separat.

Test under sammenlignbare forhold

Noter programvareversjon, oppgave, datamengde, filtre og rettighetsområde. Samtidig belastning og tilstanden til cachen hører også med. En tom og en fylt cache kan gi ulike resultater.

Gjenta forløpet før og etter endringen under passende forhold. Kontroller resultat og tilgangsgrenser sammen med tiden. Ett særlig raskt kall beviser ingen generell forbedring.

Tilgang til tekniske målinger bør styres; kundeinnhold trengs ikke til dette notatet. Undersøkelsen skal gi en begrunnet neste endring med tydelig omfang, ikke en generell dom over hele applikasjonens hastighet.

Kilder

Skrevet av

  • Philipp ReuterRedaktør for programvarekvalitetPhilipp Reuter skriver om programvaretesting og forberedelse av nye versjoner hos ASES. Artiklene hans handler om feilanalyse, akseptansetester og kontroll av endringer i eksisterende applikasjoner.

Følg ASES

Les videre

Alle artikler

Programvareutvikling med ASES

Skreddersydd programvare, web- og mobilapper