Configurer le niveau de compression du Mode_deflate de Apache2 et utiliser les logs pour en connaitre l’efficacité

Pour compléter mon billet sur l’utilisation du mod_deflate pour un hébergement apache 2 de Dotclear2 et celui sur Optimisation d’un hébergement eZ Publish 4 pour l’utilisation des caches web ou je parle du mod_gzip de apache 1.3 je vous invite à consulter le billet use mod_deflate to compress web content delivered by apache sur g-loaded.eu. Cette recommandation est valable quelque soit le CMS ou application web du moment que votre solution de web hosting repose sur apache 2. Vous en apprendrez plus sur les points suivants :

Configurer le niveau de compression de mod_deflate

L’algorithme deflate est assez rapide et il est possible de modifier le niveau de compression. Le mettre au maximum ne pose pas de problème si vous vous contentez de compresser du texte (css, Js, xml etc) [1]

DeflateCompressionLevel <span style="color: #ff0000;">9</span>

Surveiller la compression via les logs

Vous pouvez avoir une trace log de la compression effectué par le mod_deflate de votre serveur apache 2.[2]

Le directive suivant définissent quelque variable :

  • instream : La taille en Bytes (Octet) en entré de DEFLATE.
  • outstream : La taille en Bytes (Octet) en sortie de DEFLATE.
  • ratio : Le ratio de compression, (Sortie/Entré)x100
DeflateFilterNote Input instream DeflateFilterNote Output outstream DeflateFilterNote Ratio ratio

Les variables définie vous pouvez ajouter une Format de log à votre vhost:

<span style="color: #00007f;">LogFormat</span> <span style="color: #7f007f;">'&quot;%r&quot; %{outstream}n/%{instream}n (%{ratio}n%%)'</span> deflatelog

N’oubliez par d’utiliser de format de log en l’écrivant dans un fichier de log.

<span style="color: #00007f;">CustomLog</span> /path/to/vhost/logs/deflate_log deflatelog

Vous obtenez un log pour deflate qui ce présente comme cela. Pratique pour étudier l’utilité de la compression de donner en fonction du type de fichier dans votre architecture d’hébergement ou des efforts de Minification, toujours important en web hosting.

<span style="color: #7f007f;">&quot;GET /dotclear/themes/default/js/jquery.cookie.js HTTP/1.1&quot;</span> <span style="color: #ff0000;">451</span>/<span style="color: #ff0000;">994</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">45</span>%<span style="color: #66cc66;">&#41;</span>

Notes

[1] Attention comprimer au maximum des fichiers trop gros ou déjà compressé comme les images est contre productif !!

[2] Attention écrire des logs sur le disque ralenti apache !!

2 réflexions sur “ Configurer le niveau de compression du Mode_deflate de Apache2 et utiliser les logs pour en connaitre l’efficacité ”

  1. C’est chouette j’avais jamais fait gaffe qu’on mettre ça dans les logs, avec une petite conf AWStats on doit pouvoir avoir un chouette récapitulatif.

    « Attention comprimer au maximum des fichiers trop gros ou déjà compressé comme les images est contre productif !! « 

    de toute manière avec mod_deflate (je sais pas si c’est valable pour mod_gzip), il vaut mieux préciser les mime type impactés (cf. par exemple http://pwet.fr/blog/optimiser_son_s…) pour ne pas chercher à compresser des formats binaires.

    Sinon pour le niveau compression, c’est une question de compromis entre l’efficacité et le temps CPU nécessaire (comme quand on fait gzip -X en ligne de commande). Je crois que la valeur par défaut est 6.

  2. Damien

    – Spécifié le mime type est nécéssaire en effet, mais bon chacun faire ce qu’il veux. Utiliser le mod_deflate pour compresser des images peux être intéressant si ton serveur est en aval d’un CDN. Comme cela tu gagne un peu sur le volume que le CDN va délivré et donc tu paye moins. Un petit truc qui peux te faire baisser la facture de 1K€ par mois si tu à des gros gros volumes échangé. Je parle d’expérience. Pour le type mime je recommande de bien testé les headers http pour être sur de la syntaxe de chaque type, la aussi je parle d’expérience.

    – Oui je pense que le niveau de compression est à 6 par défaut. A noter que plus le fichiers à compresser est gros plus monter le taux de compression est rentable. En contre partie du temps nécéssaire à sa compression utilisé le mod_expire pour le garde valide quelque temps.

Laisser un commentaire