Artikel mit Tag performance
Eigentlich ist es ja eine tolle Sache, Webseiten komprimiert auszuliefern. Eigentlich. Scheinbar gibt es allerdings im IE 6 einen Bug, der nur dann auftritt, wenn man Sessions unter PHP nutzt. Es wird nur eine weiße Seite angezeigt. Drück man Reload ist alles gut, die Seite wird korrekt angezeigt. Der Fehler scheint nicht immer aufzutreten und kann (IE
) dadurch behoben werden, dass man mod_deflate für dieses Verzeichnis per .htaccess deaktiviert:
SetEnv no-gzip
"Kompression für ein Verzeichnis ausschalten" vollständig lesen
"Komprimiert?" vollständig lesen
YSlow (geniales Tool, eine Erweiterung zu Firebug welches ebenso genial ist) bemängelte die fehlende gzip-Komprimierung (Content wird vor dem Ausliefern vom Webserver komprimiert und vom Browser entpackt) und fehlende Angaben, wie lange einzelne Inhalte vom Browser gecacht werden dürfen.
Abhilfe: mod_deflate und mod_expires:
mod_expires wird, wie beim Apachen üblich mittels a2enmod expires aktiviert. Die (globale) Konfiguration liegt bei mir unter /etc/apache2/mods-enabled/expires.conf. Dort kann für jeden Dateitypen eingestellt werden, wie lange er zwischengespeichert werden darf (in Minuten, Stunden, Tagen, Wochen usw. und nach dem letzten Laden oder der letzen Veränderung):
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/html "access plus 2 houres "
ExpiresByType text/xml "access plus 2 houres"
ExpiresByType image/gif "access plus 3 weeks"
ExpiresByType image/jpg "access plus 2 weeks"
ExpiresByType image/png "access plus 3 weeks"
ExpiresByType video/quicktime "access plus 2 months"
ExpiresByType audio/mpeg "access plus 2 months"
ExpiresByType application/pdf "access plus 2 weeks"
ExpiresByType application/ps "access plus 2 weeks"
ExpiresByType application/xml "modification plus 2 weeks"
</IfModule>
mod_deflate wird analog mittels a2enmod deflate aktiert. Die Konfiguration (/etc/apache2/mods-enabled/deflate.conf) ist von aptgetupdate.de übernommen, ausser dass bei mir keine jpegs kompriert werden - das bringt hier nix und erzeugt nur mehr CPU Last:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript image/gif
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678]no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
DeflateCompressionLevel 5
SetEnvIf User-Agent “.*MSIE.*” nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
</IfModule>
Am Ende nicht vergessen apache die neue Konfiguration einlesen zu lassen: /etc/init.d/apache2 force-reload
"Schneller durch mod_deflate und mod_expires" vollständig lesen









