Methoden und Werkzeuge zur Messung der Ladezeit

Die Ladezeit ein­er Web­seite ist der haupt­säch­liche Per­for­mance-Indika­tor und lässt sich testen, indem die erforder­liche Zeit für den Down­load der Ressourcen sowie das darauf­fol­gende Ren­der­ing in dem Brows­er analysiert und bew­ertet wird [Bar14]. Client­seit­ige Tests ermöglichen es, die vom Nutzer wahrgenommene Per­for­mance zu messen, während ser­ver­seit­ige Tests Prob­leme bei der Ver­ar­beitung und Flaschen­hälse auf­seit­en des Web­servers aufzeigen [KR13]. Bei den client­seit­i­gen Meth­o­d­en wer­den einzelne Web­seit­en ein­er Web­site getestet, somit wird jede Unter­seite ein­er Inter­net­präsenz bei der Analyse und Bew­er­tung für sich betra­chtet. Die Meth­o­d­en zur Mes­sung der Ladezeit sind keine exak­ten Ver­fahren, son­dern geben eine Ten­denz wieder. Sie unter­liegen Schwankun­gen durch die Net­zaus­las­tung und den Stan­dort, die sich nicht bee­in­flussen lassen. Für aus­sagekräftige Messergeb­nisse und Bew­er­tun­gen ist es daher erforder­lich, mehrere Test­durch­läufe vorzunehmen und nur die Ergeb­nisse weit­er zu ver­wen­den, bei denen keine offen­sichtlichen Abwe­ichun­gen oder Schwankun­gen zu erken­nen sind.

Zur Visu­al­isierung des zeitlichen Ablaufs bei dem Lade­vor­gang ein­er Web­seite wird von den Werkzeu­gen häu­fig ein soge­nan­ntes Wasser­fall­dia­gramm einge­set­zt. Dabei wer­den die gelade­nen Ressourcen untere­inan­der anhand der zeitlichen Anfrage sortiert aufge­lis­tet. Mit Hil­fe dieser visuellen Auflis­tung wird ersichtlich, welche Ressourcen par­al­lel und welche nacheinan­der geladen wer­den sowie die benötigte Zeit, um diese voll­ständig zu laden. Darüber hin­aus wird angegeben um welchen Date­ityp es sich bei der Ressource han­delt und inwieweit eine kom­prim­ierte Über­tra­gung erfol­gt [Bar14].

Durch die Ver­wen­dung des Wasser­fall­dia­gramms wird ersichtlich, ob Prob­leme vor­liegen, wenn zum Beispiel viele einzelne Ressourcen geladen wer­den. Schlussfol­gernd kann das Wasser­fall­dia­gramm als Instru­ment zur ersten Ein­schätzung des Ist-Zus­tandes für die Per­for­manceop­ti­mierung ein­er Web­site einge­set­zt wer­den.

Abbil­dung 2.3: Wasser­fall­dia­gramm mit Ladezeit in Sekun­den (Ressourcen in Mil­lisekun­den)

Ver­schiedene Zustände des Lade­vor­gangs wer­den von den Werkzeu­gen mit ver­tikalen Lin­ien in den Wasser­fall­dia­gram­men, wie in Abbil­dung 2.3 gezeigt, dargestellt. Die ver­tikale grüne Lin­ie, kurz vor 1,5 Sekun­den, gibt den Zeit­punkt an, ab dem begonnen wird die Darstel­lung im Brows­er zu gener­ieren (Start Ren­der) und die ver­tikale Lin­ie in blau, bei 2,8 Sekun­den, wann alle Ressourcen voll­ständig geladen wur­den (Doc­u­ment Com­plete). Abhängig von dem einge­set­zten Tool gibt es weit­ere Lin­ien zwis­chen den bei­den Zustän­den. Die Balken der einzel­nen Ressourcen wer­den optisch in die Dauer für die Umset­zung des Domain­na­mens zur IP (DNS-Lookup, dunkel­grün), die Her­stel­lung der Verbindung zwis­chen Brows­er und Web­serv­er (Ini­tial Con­nec­tion, orange), die Ver­ar­beitungs­dauer bis das erste Bit über­tra­gen wird (Time to First Byte, hell­grün) sowie das Herun­ter­laden der Datei (Con­tent Down­load, blau) seg­men­tiert. Am Ende der Balken erfol­gt die Angabe der Ladezeit in Mil­lisekun­den. Die größte Bedeu­tung hat die Time to First Byte, da sich diese aus der Ver­ar­beitungszeit im Back­end und der Round Trip Time zusam­menset­zt. Die Round Trip Time ist vor­wiegend von dem Stan­dort und der Inter­netverbindung des Nutzers abhängig, bei­des lässt sich nicht bee­in­flussen.

Zu Beginn ein­er Per­for­manceop­ti­mierung sollte der Ist-Zus­tand der Ladezeit ermit­telt und pro­tokol­liert wer­den. Es bietet sich an, bere­its während der Entwick­lung, einzelne Imple­men­tierungss­chritte zu prüfen und Prob­leme direkt zu beheben. Nach jed­er Änderung emp­fiehlt es sich erneut Tests vorzunehmen, um die Opti­mierung zu quan­tifizieren und zu vali­dieren. Eine anschließende Archivierung der Ergeb­nisse stellt Ref­eren­zw­erte für spätere Ver­gle­iche bei der Eval­u­a­tion ver­schieden­er Maß­nah­men bere­it [KR13].

In den nach­fol­gen­den drei Kapiteln wer­den ver­schiedene Meth­o­d­en und Werkzeuge zur Ermit­tlung der Ladezeit vorgestellt. Dabei han­delt es sich um Brows­er-Werkzeuge, die Tests aus der Entwick­lung­sumge­bung her­aus ermöglichen, syn­thetis­che Meth­o­d­en, die ein aktives Mon­i­tor­ing mit Hil­fe von automa­tisierten Tests vornehmen, und das pas­sive Mon­i­tor­ing durch Real User Mon­i­tor­ing Tools, die Inter­ak­tio­nen real­er Nutzer pro­tokol­lieren.