20. september 2007 - 09:40Der er
6 kommentarer og 1 løsning
Måling af load-tid
Hej eksperter.
Jeg har engang set en side, hvor man bag i koden loggede hvor lang tid det tog at loade en side med billeder etc.
Jeg kunne godt tænke mig en funktion, som hver gang en side åbnes lige loggede hvor lang tid den brugte på at loade den pågældende side... dvs. jeg skal bruge tidspunkt, url og antal sekunder før siden er loadet... Er det noget der kan lade sig gøre??
Hvilken tid vil du præcist måle? Fra requested starter, går jeg ud fra. Men er det til siden er genereret i asp eller til den er overført/vist i browseren?
Og hvad skal der ske med resultatet. Skal det vises eller gemmes i en log/database?
Øv. Jeg har ikke tid til at lave et eksempel, men kan lave en grov liste:
- Du skal kun bruge servertiden, da du ikke kan vide hvad tiden er på klienten. - Fra asp genererer du en javascript-variabel ala 'var starttime = <%=Time()%>;' - I bunden af siden sætter du et javascript, som kalder en anden asp-side med de relevante parametre (heriblandt starttiden) via HttpRequest. - Da scriptet ligger i bunden vil kaldet først blive udført, når al html er overført og siden i princippet er til at navigere på, men der kan mangle grafik og hvis du har IFrame's, er de sikkert heller ikke udfyldt.
Det er den rimelige løsning, men der er mulighed for at sætte loaded-events på IMG og måske også IFrames, som du kan vente på inden du kalder. Det kan jeg ikke lige huske teknikken til, men det er noget rod :|.
Oveni sidens loadtid kommer så også den tid det tager at kalde opdateringssiden indtil din beregning bliver udført.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.