Blog des Gens Compliqués

Nginx et la compression gzip

31/01/2018 11:53:09+01:00|Par DkVZ
2 minutes de lecture (facile)

J'ai vu quelqu'un tweeter ses résultats de performances par ce site: https://www.webpagetest.org/ - qui donne un score de performances sur plusieurs postes pour votre site web.

J'ai des A partout sauf en compression d'image, en caching et en compression de contenu statique.

Pour la compression d'image, je comprends bien et dois encore configurer mon Webpack pour processer les images tant que possible. Pour le caching je comprends aussi, mes en-têtes de caching sont complètement louches et j'attends d'implémenter un mécanisme de cache-busting au niveau de Webpack (il y aura une super note là dessus wiiiiii) avant de corriger ça.

Non le truc qui m'inquiète c'est la compression gzip. Mes fichiers JS et CSS ne sont pas compressés. Je pensais que ça se faisait par défaut moi ?

He ben non. C'est d'autant plus sale que la version précédente de ce blog utilisait Polymer 1.0 qui charge une coulée de polyfills et un gros bundle de composants avec plein de code pseudo-redondant.

Bon après on peut relativiser le problème en tenant compte que les plus gros éléments à transférer (pour le site actuel, avant je sais pas) sont les polices de caractères et les images (très largement les images ). Mais tout de même un chargement rapide des CSS et scripts est très important pour le rendu initial.

Comment qu'on fait alors?

Dans mon nginx.conf j'ai bien cette ligne:

gzip on;

Sauf qu'en fait ça ne s'applique qu'aux contenus MIME de type text/html.

Pour rendre la compression utile, il s'agit donc d'ajouter (ou décommenter dans mon cas) cette ligne:

gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

Par défaut Nginx ne compressera pas le contenu qui fait moins de 20 bytes. J'ai changé ça en 500 bytes personnellement:

gzip_min_length 500;

Un petit reload de la config et maintenant...

C'est un peu étrange que maintenant la compression d'images est OK, j'imagine qu'ils n'essayent pas d'optimiser les images? Non en fait je ne comprends vraiment pas du tout parce que la seule modification opérée c'est de compresser les types MIME texte classiques avec GZIP, pas les images. Bweeeeeuh...

Commentaires

Il faut JavaScript activé pour écrire des commentaires ici

Ajouter un commentaire

Votre commentaire a été ajouté
(enfin, je pense)