Surveillez vos serveurs Memcached
Après un court article d’introduction sur Memcached, je reviens sur son monitoring.
Pour rappel :
Memcached est un système de cache d’objets distribué et non répliqué. Il va stocker des objets en RAM, pour diminuer les temps de réponses des applications.
Chaque serveur Memcached démarre avec une certaine quantité de mémoire allouée. Comme le système est de type LRU (Least Recently Used), ce sont les données les plus anciennes qui seront supprimées une fois la limite de la mémoire atteinte. Et inversement, il n’est pas non plus judicieux d’allouer trop de RAM car la perte d’une instance Memcached entrainerait la perte des données stockées (si elle n’est pas protégée/répliquée).
Pour surveiller les serveurs Memcached, on peut jouer avec beaucoup d’outils / de scripts (templates Cacti, Nagios, etc.), mais il existe une solution dédiée au monitoring et au debugging de Memcached : phpmemcacheadmin.
Se présentant sous la forme de quelques fichiers PHP à déposer sur un serveur Web, on peut y ajouter et monitorer autant de serveurs Memcached que l’on souhaite.
On y retrouvera un tableau de bord avec divers statistiques :
- mémoire utilisée pour le cache,
- nombre de requêtes,
- nombre et taux de hits (données présentes en cache, environ 75% dans mon cas),
- trafic réseau,
- etc.
Il est également possible de consulter des statistiques « live » par serveur surveillé.
Enfin, il est possible de consulter les valeurs stockées via la page « Execute commands on Servers », et d’interagir avec : insertion, suppression, flush des données, etc.
Très bon complément de votre système de monitoring global, phpmemcacheadmin permet une vue plus complète de vos serveurs Memcached, pour une installation simplissime.
Commentaire by Eroan — 18 mars 2011 @ 14:39
Personnalement j’utilise APC Cache, mieux intégré à l’univers d’Apache.
Pour le « pour augmenter les temps de réponses » de la petite explication initiale, ce ne serait pas le contraire ?
Merci en tous cas pour cette présentation de l’outil !
Commentaire by Romain — 18 mars 2011 @ 15:14
@Eroan > Merci pour ton retour, et pour la signalisation de la faute (je suis tête en l’air en ce moment).
Concernant APC, je ne le classe pas au même niveau : sur mes serveurs, j’utilise les 2 conjointement. APC est bien intégré à PHP (et devrait même être inclus à PHP6), mais pré-compile les fichiers PHP.
Memcached met des données en cache et pas le code, on peut les utiliser en même temps.