Real User Monitoring

Bei den syn­thetis­chen Testver­fahren erfol­gt ein aktives Mon­i­tor­ing, die Entwick­ler geben die Bedin­gun­gen der Tests vor und übernehmen die Steuerung. Reale Nutzer­dat­en hinge­gen lassen sich beim pas­siv­en Mon­i­tor­ing mit­tels Real User Mon­i­tor­ing (RUM) Tools pro­tokol­lieren und auswerten. Die Pro­tokol­lierung erfol­gt meist per JavaScript und set­zt voraus, dass die Web­site über das Inter­net abgerufen wer­den kann und von Nutzern ver­wen­det wird, um ver­w­ert­bare Dat­en pro­tokol­lieren zu kön­nen. Durch Real User Mon­i­tor­ing und die Erhe­bung echter Nutzer­dat­en lassen sich Prob­leme aufdeck­en, die in der Tes­tumge­bung unter Umstän­den nicht sicht­bar waren. Neben dem ver­wen­de­ten Brows­er, der Ver­sion­snum­mer und dem jew­eili­gen Endgerät des Nutzers kann dessen Stan­dort, die Art der Net­zw­erkverbindung und die vorhan­dene Band­bre­ite ermit­telt wer­den. Wird eine Web­seite ver­mehrt über mobile Daten­net­ze aufgerufen, ist dies bei der Per­for­manceop­ti­mierung zu beacht­en, damit auch Nutzer mit langsamen Inter­netverbindun­gen in vertret­bar­er Zeit an die ange­bote­nen Inhalte gelan­gen [WH15].

Zum Real Time User Mon­i­tor­ing ste­hen neben kostenpflichti­gen Web-Anwen­dun­gen wie Ping­dom, welch­es bere­its im Rah­men der syn­thetis­chen Testver­fahren kurz vorgestellt wurde, auch kosten­freie Web-Dien­ste zur Ver­fü­gung. Die bekan­ntesten sind Google Ana­lyt­ics und Piwik. Lara Hogan emp­fiehlt, die Top-Seit­en ein­er Web­site
mit Hil­fe dieser Dien­ste fort­laufend zu über­prüfen und zu verbessern [Hog15]. Nach­fol­gend wird Google Ana­lyt­ics als RUM Tool vorgestellt.

Sofern Google Ana­lyt­ics in die Web­site inte­gri­ert wurde, erfol­gt stan­dard­mäßig die Mes­sung der Seit­en­ladezeit. Bei ein­er Teil­menge von 1 Prozent der Nutzer wird stich­probe­nar­tig ein JavaScript-Code geladen, der die Ladezeit der Web­seite misst [Has12]. Liegt die Anzahl der täglichen Nutzer unter 100.000, wird von Google emp­fohlen die Anzahl der Daten­er­he­bun­gen zu erhöhen, damit eine ver­w­ert­bare Analyse der Seit­en­ladezeit erfol­gen kann. Dafür lässt sich bei der Sam­pler­ate ein eigen­er Wert im Bere­ich von 0 bis 100 angeben. Bei Web­sites mit mehr als 1 Mil­lion Abrufen pro Tag sollte die Sam­pler­ate bei 1 Prozent belassen wer­den [Gooe]. Bee­in­flussen lässt sich die Sam­pler­ate im Quell­code der Web­site durch eine Ergänzung des Google Ana­lyt­ics Codes mit dem Zusatz _setSiteSpeedSampleRate(sampleRate) vor _trackPageview.

...
_gaq.push(['_setSiteSpeedSampleRate', 5]);
_gaq.push(['_trackPageview']);
...

Die darüber erfassten Messergeb­nisse kön­nen im Google Ana­lyt­ics Report unter dem Punkt Ver­hal­ten –> Web­sitegeschwindigkeit anhand ver­schieden­er Kri­te­rien aus­gew­ertet und mit anderen Metriken verknüpft wer­den. Mit Hil­fe der Über­sicht wer­den einige Durch­schnittswerte visuell auf­bere­it­et, hier kann die Web­seit­engeschwindigkeit in ver­schiede­nen Browsern, Län­dern oder von einzel­nen Web­seit­en abge­le­sen wer­den.

Abbil­dung 2.17: Karten-Over­lay der Web­sitegeschwindigkeit in Google Ana­lyt­ics

Die Reports unter den Seit­en-Tim­ings teilen sich in die Punk­te Explor­er, Verteilung und Karten-Over­lay mit jew­eils weit­eren Unter­punk­ten auf. Der Punkt Explor­er stellt Messergeb­nisse zur Web­sitenutzung und tech­nis­che Infor­ma­tio­nen, wie beispiel­sweise die Server­ant­wortzeit, bere­it. Über die Verteilung kann analysiert wer­den, welche Ele­mente beim Laden wie viel Zeit benöti­gen und anhand des Karten-Over­lays (siehe Abbil­dung 2.17) kön­nen die Ladezeit­en an ver­schiede­nen Stan­dorten aus­gew­ertet wer­den [VL14].

Für die Per­for­manceop­ti­mierung sind, ergänzend zu den Seit­en-Tim­ings, die Angaben des Bericht­es Empfehlun­gen zur schnellen Anzeige ein­er Web­site inter­es­sant. Hier wird eine Über­sicht der durch­schnit­tlichen Ladezeit aller Web­seit­en und deren Page­Speed Score (siehe Kapi­tel 2.2.1) mit Verbesserungsvorschlä­gen angezeigt.