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_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 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 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. :)




11 commentaires