Mettre le cache du module PageSpeed en RAM avec tmpfs

Il y a quelques mois je vous avais parlé du module PageSpeed sous Nginx qui permet d’accélérer son site web à travers plusieurs filtres, qui agissent sur le HTML, les images, le CSS ou encore le Javascript.

Lorsque ces ressources sont analysées et réécrites par PageSpeed, elles sont mises en cache dans un dossier qui se trouve dans /var/ngx_pagespeed_cache.

À chaque requête HTTP, PageSpeed va aller regarder dans le cache pour voir si la ressource demandée a déjà été réécrite. Pour réduire le temps de réponse, il faudrait donc que le cache soit accessible le plus rapidement possible : c’est ce qu’on va faire en le mettant en RAM.

Monter le dossier de cache dans tmpfs

On crée un point de montage tmpfs et on monte le dossier dedans :

sudo mount -t tmpfs -o size=256M tmpfs /var/ngx_pagespeed_cache

L’option size définit la taille que vous voulez allouer en MB. Pour ma part le cache tourne autour des 90-120 MB donc j’ai mis un peu plus.

Pour observer quelle taille fait le cache on peut utiliser la commande df :

Mettre le cache du module PageSpeed en RAM avec tmpfs

Et si vous utilisez des graphiques comme Munin, vous pouvez voir que la taille du cache augmente au fil du temps. (Il atteint généralement un seuil qu’il ne dépasse pas, pour ma part vers les 100MB de RAM)

Mettre le cache du module PageSpeed en RAM avec tmpfs

Montage automatique au reboot

Le cache est bien monté en RAM cependant le point de montage ne sera pas récréé au redémarrage. Pour cela, on va utiliser le fichier fstab qui s’occupe des partitions au démarrage.

Il faut ajouter cette ligne dans le fichier /etc/fstab :

tmpfs /var/ngx_pagespeed_cache tmpfs defaults,size=256M 0 0

Si vous redémarrez, le dossier sera automatiquement monté en tmpfs.

 

Notez que cette procédure n’est pas unique à PageSpeed. Si vous utilisez des logiciels qui ont des fichiers de cache vous pouvez aussi les mettre en mémoire vive. 🙂

Dernière modification le 27 octobre 2016.

Angristan

Stanislas - 17 ans - Lycéen passionné d'informatique, de technologie et de high-tech. Sysadmin junior, adepte des logiciels libres, de GNU/Linux et d'Android. Music addict.

Poster un Commentaire

11 Commentaires sur "Mettre le cache du module PageSpeed en RAM avec tmpfs"

avatar
Clément Elgard
Visiteur

Bonjour,
Merci pour cet article !
Je me demandais pourquoi le choix de tmpfs plutôt que le couplage natif avec memcached ? Il y a une raison particulière derrière ou pour proposer une solution générique pour monter les systèmes de caches fichier en RAM simplement ?
Pour rebondir sur le sujet d’optimisation des accès fichiers en général on peut je pense aussi parler de ZFS (filesystem introduit par Sun sur Solaris et porté sur d’autres OS ensuite), certes bien moins accessible de prime abord mais qui propose une gestion du cache multi-niveau (avec un premier niveau en RAM) très intéressante.

Novakin
Visiteur

Dis moi utilises tu aussi le mod brotli ?

Edouard Patout
Visiteur

Ces commentaires sont géniaux !
PS: je suis abonné aux réponses.

wpDiscuz