Leistungsoptimierung mit gzip

Donnerstag, 20 Mai 2010 07:31

Heutzutage wird bei der Erstellung und Betrieb von Webseiten oft vergessen, dass sich viele Menschen noch mit einem Modem oder ISDN im Netz bewegen. JavaScript (JS) Bibliotheken und die CSS Dateien von Template werden immer aufgeblähter.

Viele Webseitenbetreiber mit schneller Internetverbindung bemerken allerdings nicht, dass bei jedem Aufruf ihrer Seite teilweise allein 200 – 300 kB an Daten für CSS-Dateien und JS-Skripte übertragen werden. Wenn man bedenkt, dass 100 kB für einen Modem Besitzer circa 15 Sekunden Ladezeit bedeuten, sollte dagegen – wenn möglich – etwas unternommen werden. Auch für die Entlastung der Internetanbindung des Webservers ist eine Optimierung der Ladezeiten zu empfehlen.

Server Performance

Dies mag zwar auf den ersten Blick nur für Webseitenbetreiber mit eigenem Server relevant sein. Aber auch beim Shared-Hosting ist oft ein Trafficlimit vorhanden. Bei stark frequentierten Seiten ist es durchaus möglich, dieses Limit ohne Optimierung schnell zu erreichen. Aber auch für kleinere Webseiten ist eine Optimierung sinnvoll. Wenn alle Kunden auf einem Server ihre JS und CSS Dateien komprimieren, kommt die dadurch erreichte reduzierte Bandbreitennutzung allen auf diesem Server gehosteten Webseiten zugute. Die Performance kann deutlich gesteigert werden.

Optimierung ohne Einschränkung

Die Reduzierung der Ladezeiten bedeutet nicht immer, dass man in seinem Handeln eingeschränkt wird. Dank moderner Komprimierungsalgorithmen muss meist nicht auf den Einsatz von JavaScript Bibliotheken oder große CSS-Dateien verzichtet werden. Ein für die Komprimierung häufig verwendetes Programm ist gzip. Gzip bietet einen optimalen Kompromiss zwischen Komprimierungsleistung und Geschwindigkeit.

Die Nachteile

Komprimierungsverfahren sind in der Regel sehr rechenintensiv. Werden die Dateien für jeden Kunden vor der Auslieferung neu komprimiert, kann der Server unter der enormen Rechenlast leiden und der Performancegewinn wäre hinfällig. Hinzu kommt, dass sich der Verschleiß der Hardware erhöht. Der Einsatz eines Caches für die komprimierten Dateien ist daher Pflicht. Dies hat zur Folge, dass Änderungen an den Dateien für den Besucher erst zeitverzögert sichtbar werden. Für die Entwicklung der Seite sollte daher keine Komprimierung verwendet werden.

Ein weiterer Nachteil ist, dass der Webhoster gzip natürlich auf dem Server installieren muss. Dies sollte normalerweise aber standardmäßig der Fall sein.

CMS Plugins

Eigentlich wollte ich in diesem Beitrag gzip-Plugins für die Content-Management-Systeme Joomla, WordPress und Drupal kurz vorstellen. Irgendwie wurde die Einführung aber etwas ausführlicher als geplant und daher veröffentliche ich diese Einleitung zu gzip als eigenständigen Artikel. Der Artikel über die CMS Plugins wird dann in den nächsten Tagen folgen.


Kommentar schreiben