Memcached est un système de cache clé-valeur très simple que l’on retrouve souvent dans les architectures web, notamment avec les applications PHP, mais pas que. Ce tutoriel vous montrera comment installer et configurer une instance Memcached sur un système Debian GNU/Linux 9.

Installation du paquet Memcached sur Debian

La première étape consiste en l’installation du paquet memcached depuis les dépôts Debian :

debian@test-memcached:~$ sudo apt-get install memcached

Cette opération est rendue très simple par le gestionnaire de paquet Debian. Après l’installation, une instance sera lancé par systemd, avec la configuration par défaut fournie par Debian. L’instance va allouer 64 MB de RAM, écouter sur le port TCP/11211 de l’IP 127.0.0.1 (loopback), sous l’utilisateur UNIX memcache.


Configuration du démon memcached

Le démon memcached se configure au travers du fichier /etc/memcached.conf.

Le fichier contient des options de ligne de commande brutes qui sont données à memcached lors de son lancement. Les options le plus couramment utilisées sont les suivantes :

La quantité de mémoire maximale que memcached peut allouer.

Le port TCP sur lequel écouter.

L’utilisateur UNIX sous lequel faire tourner le démon.

L’adresse IP sur laquelle écouter.

Le nombre maximum de connexions simultanées autorisées.

Renvoie une erreur lorsque la mémoire est pleine au lieu d’évincer des entrées.

Les 64 MB de mémoire allouée par défaut peuvent être modifiés selon les besoin de votre applicatif et la quantité de mémoire disponible sur le serveur. Gardez en tête que plus n’est pas forcément synonyme de mieux. Stocker des objets inutiles et peu demandés peut se révéler contre-productif ! Nous vous recommandons de vérifier les taux de hit avant et après toute modification de la quantité de mémoire allouée afin de vous assurer que le cache est efficace.


Exploitation de memcached

Il est important de surveiller vos instances memcached afin de s’assurer de leur bon fonctionnement. Chez Jaguar Network, nous utilisons l’outil memcache-top pour peaufiner la configuration des memcached de nos clients. Il s’agit d’un simple script Perl qui récupère les statistiques des instances memcached et les affiche de manière facile à exploiter.

memcache-top v0.6 (default port: 11211, color: on, refresh: 3 seconds)
 INSTANCE USAGE HIT % CONN TIME EVICT/s GETS/s SETS/s READ/s WRITE/s
 127.0.0.1:11211 88.9% 69.7% 1661 0.9ms 0.3 47 9 13.9K 9.8K
 AVERAGE: 88.9% 69.7% 1661 0.9ms 0.3 47 9 13.9K 9.8K
 TOTAL 0B/ 88.9% 69.7% 1661 0.9ms 0.3 47 9 13.9K 9.8K
 (ctrl-c to quit.)

Il y a plusieurs informations utiles dans la sortie.

Cette colonne indique le pourcentage de mémoire consommée par l’instance. Idéalement, elle ne devrait pas atteindre 100%.

Cette colonne indique le taux de hit. Plus il est élevé, mieux c’est.

Cette colonne indique le taux d’éviction. Plus il est bas, mieux c’est.

Le nombre de lectures et écritures par seconde.

Ces informations vous aideront à optimiser la configuration de memcached.