Optimierung von Webservern und Webseiten

Das Web wächst und wächst und wächst…
Mit jeder neuen Mailadresse und jeder neuen Webseite benötigt das Internet immer mehr Energie und Ressourcen. Umso spannender ist es zu wissen wie man einen Webserver respektive eine Webseite optimieren kann. Eine energetische Optimierung einer Webseite ist fast immer auch eine Optimierung der Webseite in Bezug auf Komplexität und Ladezeit. Es lohnt sich also in mehrfacher Hinsicht Webserver/Webseiten optimiert zu betreiben. Heute möchte ich Ihnen dazu vier grundsätzliche Ansätze und Tools vorstellen.

1.) das PageSpeed-Tool von Google

Das Pagespeed-Tool ist ein Plugin für das unter Entwicklern populäre Firefox-Addon Firebug. Firebug ist hier erhältlich und Pagespeed finden Sie hier.

Sobald beides installiert ist, können Sie einfach eine Seite ansurfen und diese vom Pagespeed-Tool anylsieren lassen. Das Pagespeed-Tool präsentiert Ihnen dann eine große Liste an Punkten, und sehr konkreten Verbesserungsvorschlägen (z.B. welche Bilder noch komprimiert werden können, wo Sie am CSS noch etwas verbessern können, ob Server-Caching aktiviert ist uvam.). Desweiteren führt das Pagespeed-Tool ein Rating der Seite durch auf einer Skala von 0-100, gute Seiten erreichen 100 oder fast 100.

2.) Yslow-Tool

YSlow ist ein Konkurrenzprodukt zu Pagespeed von Yahoo.
Es bewertet Webseiten basierend auf Kriterien die Yahoo für effiziente Webseiten als Maßsstab anlegt. Yslow macht ein grundlegendes Rating der aufgerufenen Seite von A-F, A bekommen gut optimierte Webseiten und F ganz schlechte. Zusätzlich gibt es auch ein Punktesystem wie bei Pagespeed von 0-100. Die besten Webseiten bekommen 100 Punkte. Dazu gibt das Tool auch ganz konkrete Hinweise wie eine Webseite optimiert werden kann.

3.) Alternative-Webserver Nginx und Litghttpd

Auch auf Webserver-Seite kann es je nach Größe, Struktur und Besucherzahlen der Webseite hilfreich sein über alternative Webserver nachzudenken. Die gebräuchlichsten Alternativen zum Apache-Webserver sind nginx und Lighttpd. Beide sind gegenüber dem Apache stark abgespeckt und benötigten deutlich weniger Hardware-Ressourcen. Sie beherschen jedoch die wichtigsten Funktionen, u.a. auch Rewriting. Rewriting und Passwortschutz funktioniert jedoch jeweils etwas anders als im Apache, so dass etwas Migrationsaufwand für eine Webseite entsteht. Beide Server können auch deutlich mehr gleichzeitige Verbindungen als der Apache bewältigen, auch kann angegeben werden welche Art von HTTP der Server sprechen soll. Insbesondere Nginx macht einen sehr stabilen Eindruck und verbreitet sich immer mehr. Bei Nginx sollte man sich nicht von seiner russischen Herkunft abschrecken lassen. Es gibt eine sehr gute englische Dokumentation. Nginx und auch Lighttpd eignen sich auch sehr gut zum Loadbalancing oder können sogar als Mailproxy eingesetzt werden. Oftmals macht es Sinn einen der beiden Server zusätzlich zum Apache z.B. zur Auslieferung von statischen oder sehr häufig abgerufenen Inhalten laufen zu lassen.

3.) Transkompilierung von Webapplikationen in effizienteren Code, z.B. via HipHop

Desweiteren möchte ich kurz HipHop vorstellen. HipHop ist eine Software von den Facebook-Entwicklern, die php-Code in C++-Code übersetzt, welcher in den meisten Fällen deutlich schneller ausgeführt werden kann. Mit HipHop wird also aus ihrer php-Webapplikation ein C++-Programm, das in einem eigenen Server-Container läuft. Facebook selbst setzt dies ein und erlangt dadurch signifikante Geschwindigkeitssteigerungen und verbesserte Prozessor- und Speicherauslastungen. Nachteil von HipHop ist, dass der Übersetungsvorgang relativ viel Zeit kostet (bis zu einige Stunden) und dass nicht bei jeder Webapplikation sehr große Geschwindigkeitsvorteile erreichbar sind.

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert