J'ai un serveur Web qui a 8 Go de mémoire vive et qui exécute un site php assez intensif (1 site) qui fait de la manipulation de fichiers, des graphiques, des courriels, des forums, etc. L'environnement est loin d'être statique, ce qui m'amène à penser qu'il y a très peu à gagner à mettre en cache quoi que ce soit dans la mémoire vive, puisque presque chaque requête au serveur crée des pages nouvelles ou mises à jour. Et une grande partie de la mise en cache est effectuée côté client, de sorte que nous avons une tonne de requêtes 304 lorsqu'il s'agit d'images, de javascript, de css.
De plus, j'ai des fichiers de langue qui sont écrits dans des fichiers plats sur le serveur où la mémoire cache est certainement plus efficace que la lecture depuis le disque. Mais il n'y a qu'une poignée de fichiers de ce type.
En deux semaines environ, je suis passé de 98% de RAM libre à 4% de RAM libre. Cela s'est produit à un moment où nous avons également poussé plusieurs grosses mises à jour svn sur le serveur.
Ma question est de savoir si mon serveur sera mieux réglé si je vide périodiquement mon cache (je suis conscient du sentiment de Linus Torvalds sur le cache) en utilisant la commande suivante :
sync; echo 3 > /proc/sys/vm/drop_caches
Ou serait-il préférable que je modifie le fichier suivant :
/proc/sys/vm/swappiness
Si je remplace la valeur par défaut de 60 par 30, il devrait y avoir beaucoup moins de permutation et beaucoup plus de réutilisation du cache périmé.
Cela fait du bien de voir tout ce cache libéré par la première commande, mais je vous mentirais si je vous disais que c'est bon pour l'environnement de bureau. Mais qu'en est-il d'un serveur web tel que je l'ai décrit ci-dessus ? Qu'en pensez-vous ?
EDIT : Je suis conscient que le système acquiert de la mémoire au fur et à mesure de ses besoins à partir de la mémoire cache, mais merci de le signaler pour plus de clarté. Est-ce que je m'imagine qu'Apache ralentit lorsque la majeure partie de la mémoire du serveur est stockée dans le cache ? S'agit-il d'un problème tout à fait différent ?