Apache: Seiten gepackt ausliefern

Werden hauptsächlich statische Seiten mit Apache ausgeliefert, lohnt es sich diese zuvor zu komprimieren.

Mit der Erweiterung mod_deflate können unter Apache2 bestehende HTML, Text oder XML Dateien auf bis zu 20 – 30 % ihrer ursprünglichen Größe komprimiert werden auf Kosten einer höheren CPU-Auslastung.

Unter Apache1 gibt es dazu die Erweiterung mod_gzip – hier wird jedoch nur die neuere Erweiterung mod_deflate für Apache2 behandelt.

Standardmäßig ist unter Debian die Erweiterung mod_deflate bereits installiert und wartet nur darauf aktiviert zu werden:

a2enmod deflate

nun wird anschließend die Konfiguration von Apache neu geladen

apache2ctl graceful

fortan werden die MIME-Typen (Wikipedia) text/html, text/plain und text/xml (HTML-, Text- und XML-Dateien) komprimiert und im HTTP-Header steht nun:

Content-Encoding: gzip

ziemlich unspektakulär, oder? Okay, wir brauchen zumindest temporär zum testen eine Anzeige ob und wie gut die Komprimierung wirklich funktioniert. Dazu werden die folgenden Zeilen in der Konfigurationsdatei eines V-Hosts eingetragen:

<IfModule mod_deflate.c>
DeflateFilterNote Input instream
DeflateFilterNote Output outstream
DeflateFilterNote Ratio ratio
LogFormat ‘”%r” %{outstream}n/%{instream}n (%{ratio}n%%)’ deflate
CustomLog /var/log/apache2/vhostname_deflate_log deflate
</IfModule>

Nach dem Neuladen der Konfiguration wird in der neuen CustomLog-Datei als Beispiel folgende Zeile erscheinen:

“GET /info.php HTTP/1.1” 13146/64834 (20%)

Man sieht das die Datei info.php angefordert und ausgeliefert wurde. Die originale Dateigröße betrug 64834 Bytes, aber wurde komprimiert auf 13146 Bytes oder 20% der Originalgröße. Dies ist ein sehr gutes Ergebnis und wenn ein Großteil der Webseite aus HTML-, Text- und XML-Dateien besteht, dann wird mod_deflate eine Menge Traffic einsparen. Für Besucher mit einer “schmalbandigen” Internetanbindung bedeutet dies, dass die Seite schneller geladen wird.

Apache Dokumentation mod_deflate

Author: admirableadmin

Hello World! Ich bin Andreas Peichert und entwickle und programmiere Software seit 2000. Zurzeit arbeite ich als Senior Solution Architect.

Leave a Reply

Your email address will not be published. Required fields are marked *