Bewertung der Ansatzpunkte und Maßnahmen

Die grundle­gende Basis für eine per­for­mante Web­site stellen die Art des Host­ings und die voraus­sichtliche Besucherzahl dar. Von einem Shared-Web­host­ing ist abzu­rat­en, da die Nachteile im Hin­blick auf die Per­for­mance, bed­ingt durch begren­zte Aus­führungszeit­en und eingeschränk­te Kon­fig­u­ra­tions­möglichkeit­en, wenig Spiel­raum für ser­ver­seit­ige Opti­mierun­gen lassen. Per­for­mancevorteile wer­den bei Con­tent-Man­age­ment-Sys­te­men durch die stetige Aktu­al­isierung der Web­serv­er-Kom­po­nen­ten, wie PHP und MySQL, erre­icht. Bei der Kon­fig­u­ra­tion des Web­servers ist zu beacht­en, dass Keep-Alive aktiviert wurde, um Wartezeit­en während der Datenüber­tra­gung zu ver­mei­den. Darüber hin­aus lässt sich das zu über­tra­gende Daten­vol­u­men textbasiert­er Dateien zwis­chen Web­serv­er und Brows­er, durch eine Minifizierung und die anschließende Kom­prim­ierung mit­tels GZIP, deut­lich reduzieren. Auf­grund des gerin­gen Aufwan­des zur Umset­zung und der Möglichkeit­en ein­er Automa­tisierung ist es empfehlenswert, diese Opti­mierun­gen in Kom­bi­na­tion vorzunehmen.

Das Zwis­chen­spe­ich­ern von sta­tis­chen Ressourcen in dem Brows­er des Client reduziert die Ladezeit bei einem erneuten Abruf der Web­site und lässt sich mit­tels Def­i­n­i­tio­nen in ein­er HTAC­CESS-Datei, die auf dem Web­serv­er hin­ter­legt wird, aktivieren. Dazu emp­fiehlt es sich, den Head­er Cache-Con­trol in Verbindung mit dem Etag oder Last Mod­i­fied zu ver­wen­den, da dieser laut Google inzwis­chen von mod­er­nen Browsern unter­stützt wird [Goof]. Auf ein ser­ver­seit­iges Caching kann in den meis­ten Fällen, auf­grund des hohen Aufwan­des und der zusät­zlichen Kosten, verzichtet wer­den.

Abhängig von den geografis­chen Stan­dorten der Ziel­grup­pen ein­er Web­site, kann die Nutzung eines Con­tent Deliv­ery Net­work zu ein­er Verbesserung der Ladezeit bei der Aus­liefer­ung sta­tis­ch­er Ressourcen führen. Jedoch kann ein CDN die Per­for­mance schlanker Web­sites durch zusät­zliche DNS-Lookups nachteilig bee­in­flussen und die Ladezeit ver­längern. Hier ist zu prüfen, auf welche Kon­ti­nente die Ressourcen primär aus­geliefert wer­den und ob ein CDN die Ladezeit mess­bar verbessern kann.

Inhalte und Tem­plates ein­er Web­seite haben den größten Ein­fluss auf die Ladezeit und bieten somit wesentliche Ansatzpunk­te für eine Per­for­manceop­ti­mierung. Dabei gilt es die Anzahl der HTTP-Anfra­gen und das zu über­tra­gende Daten­vol­u­men zu reduzieren, um eine schnell­st­mögliche Über­tra­gung der Ressourcen zu gewährleis­ten. Neben ein­er Opti­mierung und Minifizierung des Quell­codes der HTML-Doku­mente, Stylesheets und JavaScript-Dateien, sollte zum Spe­ich­ern von Bildern ein passendes Dateifor­mat sowie eine richtige Kom­prim­ierung angewen­det wer­den. Diese Arbeitss­chritte lassen sich, eben­so wie das Ent­fer­nen nicht erforder­lich­er Meta­dat­en, in den Entwick­lung­sprozess vor dem Hochladen der Dateien auf den Web­serv­er inte­gri­eren.

Ein möglichst ein­fach­er Auf­bau des Quell­codes der HTML-Doku­mente und Stylesheets führt zu ein­er gerin­geren Dateigröße und verbessert die Wart­barkeit [Hog15]. Bei den HTML-Doku­menten ist zu beacht­en, dass direkt am Anfang in dem <head>-Element die CSS-Datei angegeben wird und JavaScript-Dateien erst am Ende des Doku­mentes, vor dem schließen­den </body>-Element. Sofern möglich, sind die JavaScript-Dateien mit den Attribut­en defer und async auszuze­ich­nen, um diese asyn­chron zu laden. Die Beach­tung des kri­tis­chen Ren­der­ing Pfades bei der Ein­bindung extern­er Ressourcen reduziert Verzögerun­gen durch Wartezeit­en während des Ren­der­ings in dem Brows­er. Daher soll­ten Inhalte, die im sicht­baren Bere­ich des Browsers dargestellt wer­den, ein Daten­vol­u­men von max­i­mal 14 Kilo­byte aufweisen, damit diese inner­halb der ersten Round Trip Time von dem Web­serv­er an das Endgerät des Nutzers über­tra­gen wer­den.

Eine Verbesserung der Aus­liefer­ung von Bildern für spez­i­fis­che Endgeräte wird mit dem neu einge­führten src­set-Attrib­ut und dem <picture>-Element erre­icht. Bish­er war dies ein Prob­lem beim Respon­sive Web­de­sign und die Aus­liefer­ung von Bildern in ver­schiede­nen Auflö­sun­gen kon­nte nur über JavaScript-Funk­tio­nen ges­teuert wer­den.

Fron­tend-Frame­works wie Boot­strap oder Foun­da­tion reduzieren den Arbeit­saufwand und die Entwick­lungskosten durch die Abdeck­ung sämtlich­er Stan­dar­d­an­forderun­gen und Funk­tion­al­itäten. Dies ist zugle­ich deren großer Nachteil. Viele der bere­it­gestell­ten Funk­tio­nen im Quell­code bleiben ungenutzt und müssen den­noch bei jedem Abruf ein­er Web­seite mit­ge­laden wer­den. Anhand der Ver­such­sergeb­nisse von Tom Bark­er ist im Hin­blick auf die Ladezeit eine Nutzung von Fron­tend-Frame­works zu ver­mei­den. Selb­st wenn diese mod­u­lar aufge­baut sind und minifiziert wur­den, ist der Anteil ungenutzten Quell­codes durch die Abhängigkeit­en von exter­nen Bib­lio­theken hoch [Bar14].

Die Ver­wen­dung von Respon­sive Web­de­sign und eine gute Per­for­mance schließen sich nicht kat­e­gorisch aus, sofern Respon­sive Web­de­sign nicht als reine Erweiterung ein­er Web­site, son­dern als ganzheitlich zu betra­ch­t­ende Lösung ver­standen wird. Die bei­den Ansätze Mobile First und Respon­sive Design with Serv­er Side Com­po­nents sor­gen für eine Aus­liefer­ung opti­miert­er Inhalte unter Berück­sich­ti­gung der Endgeräte. Bere­its in der Pla­nungsphase eines Respon­sive Web­de­sign sollte die Per­for­manceop­ti­mierung mit ein­be­zo­gen wer­den, um Nachteile auf die Ladezeit, durch die Aus­liefer­ung unpassender oder nicht erforder­lich­er Ressourcen, zu ver­mei­den [Bar14].