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 montagetmpfs
et on monte le dossier dedans :
sudo mount -t tmpfs -o size=256M tmpfs /var/ngx_pagespeed_cacheL'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
:
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)
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 fichierfstab
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 0Si 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. :)L'article Mettre le cache du module PageSpeed en RAM avec tmpfs a été publié sur Angristan