Modifier la quantité de mémoire RAM attribuée à Varnish
Introduction
Par défaut le service de cache Varnish est configuré en mémoire RAM avec 256Mo, cette valeur est bien sur modifiable et à adapter par rapport à votre utilisation.
Vérifications
Tout d'abord vérifier la valeur actuellement en service :
$ ps aux | grep varnishd | awk '{print $24}' malloc,256m
Dans notre cas, la partie malloc,256m nous indique bien que nous sommes sur de la mise en cache en mémoire RAM avec 256Mo d'allocation.
Nous allons ensuite vérifier la quantité de mémoire RAM occupée par Varnish :
$ varnishstat -1 -f SMA.s0.g_bytes -f SMA.s0.g_space SMA.s0.g_bytes 268435300 . Bytes outstanding SMA.s0.g_space 156 . Bytes available
Dans notre cas la quasi totalité des 256Mo de mémoire RAM alloués sont utilisés (268435300 Octets), il n'y a quasi plus de mémoire libre (156 Octets).
Si vous disposez d'un outil de supervision et que vous supervisez ces valeurs, vous pouvez obtenir son évolution temporelle et voir de ce fait si cela arrive régulièrement.
Modification de la configuration
Étant donné que d'après nos vérifications que Varnish ne dispose pas assez de mémoire RAM allouée, nous allons augmenter la valeur.
Dans le fichier de configuration systemd du service Varnish /lib/systemd/system/varnish.service, modifier :
ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :6081 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
par :
ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :6081 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,512m
Ensuite recharger le daemon systemd :
$ systemctl daemon-reload
Puis redémarrer le service Varnish :
$ systemctl restart varnish.service
On peut vérifier que notre modification a bien été prise en compte :
$ ps aux | grep varnishd | awk '{print $24}' malloc,512m
Nous avons bien 512Mo alloué à Varnish.
Quelques temps après, nous vérifions la quantité de RAM utilisée par Varnish :
$ varnishstat -1 -f SMA.s0.g_bytes -f SMA.s0.g_space SMA.s0.g_bytes 302166367 . Bytes outstanding SMA.s0.g_space 234704545 . Bytes available
On peut voir ici que 288Mo (302166367 Octets) de mémoire RAM sont déjà utilisés, Varnish avait donc bien besoin d'une plus grande allocation mémoire.
Cet article vous a semblé utile ?
Activer l'actualisation automatique des commentaires