Ét flueben i WebPageTest kan betyde meget for din performance-måling

Jeg har tidligere skrevet om vores arbejde med performance (se alle indlæg tagget med ‘performance’) og vores arbejde med måleværktøjet WebPageTest, blandt andet i indlægget Et forsøg på at kigge på cache-gevinst udtrykt ved Speed Index.

WebPageTest (der også udgør selve ‘hjertet’ i et SpeedCurve, et andet måleværktøj, vi bruger) måler dit website ved at sende et besøg afsted fra en server og notere sig, hvordan det gik: Hvor hurtigt loadede siden, hvor meget fyldte den etc.

Men sidder man, som os, på et website med meget indhold, der loader…lad os kalde det ‘dynamisk’ efter det egentlige side-load (såsom annoncer gør det), kan WebPageTest nemt give en falsk tryghed. For som en kollega fra Jyllands-Postens udviklingsafdeling gjorde mig opmærksom på, toner WebPageTest-besøget rent flag overfor det website, det besøger.

Det fortæller med andre ord (via User Agent’en, der fortæller hjemmesiden, hvilken browser, der er på besøg – her tilføjer WebPageTest ‘PTST’), at der her er tale om en måling og ikke et rigtigt besøg. Annoncesystemerne ser dette og svarer “fint, så skal jeg ikke spilde betalte annoncevisninger på dig”. Og det er jo sådan set fint nok, for så er der ikke nogle uortodokse annonce-visninger (og nogle vil også gerne slippe for PTST-besøg i deres statistik [WebPageTest forums]).

The Full Monty

Men for os, der måler performance, er det ikke altid det smarteste. For når vi måler, vil vi jo gerne måle på et miljø, der ligner brugerens virkelighed så meget som muligt. Og det gør en visning af ekstrabladet.dk uden annoncer ikke.

Løsningen er, at du, inden du sætter WebPageTest-målingen i gang, vælger ‘Advanced Settings’, skifter til fanebladet ‘Advanced’ og sætter hak i ‘Preserve original User Agent string – Do not add PTST to the browser UA string’:

Her sætter du hakket, og så får du et fuldt sideload.

Her sætter du hakket, og så får du et fuldt sideload.

Nu skyder du målingen i gang, og så får du et fuldt sideload.

Og det kan ses på målingerne. Her er forskellene på ‘fully loaded’:

  • Time: 13.776s vs. 56.221s (fire gange så lang tid)
  • Requests: 270 vs. 768 (næsten tre gange så mange)
  • Bytes in: 3,368 KB vs. 5,825 KB (en stigning på over 70 procent)

Det er trods alt forskelle, der er til at tage at føle på.

Her kan du se de to målinger:

Standard / Uden PTST (fuldt load) [WebPageTest]
(…ooog en kontrolmåling med fuldt load)

Spørgsmålet er så, om SpeedCurve også kan konfigureres på den måde. Svaret er, at ja, det kan den – hvis man har Enterprise-udgaven [SpeedCurve support]. Hvis det er udenfor din price range, er det i gang med WebPageTest-API’et 😉.


Bemærk: Denne artikel blev oprindeligt udgivet på ebudvikling.dk


Skriv din kommentar: