Memcached

Mise en place et exploitation de Memcached

Afin de réduire au maximum les appels à la base de données, ainsi que les traitements résultant de l’exploitation des requêtes, les CMS, Wikis, forums et autre blogs utilisent au maximum des systèmes de cache. Le plus souvent les fichiers sont stockés directement sur le système de fichier, mais il existe des alternatives de stockage telles que les système de mémoire cache distribuée dont Memcached en est un excellent représentant.

Bien que pour le moment je ne possède qu’un seul serveur pour Scenario-Paintball et que je n’ai pas besoin de distribuer mon cache ou mes sessions, l’utilisation d’un stockage en RAM apporte un gain de performance par rapport à un stockage sur disque dont les accès (I/O) sont généralement plus lents.

Pourquoi Memcached en plus d’APC

Certaines applications comme IPB proposent de stocker leur cache applicatif au sein d’APC.

En mon sens (mais peut-être suis je un puriste) APC est un cache d’opcode et non un cache applicatif. De plus, il n’est pas distribué et dans le cas d’une application répartie sur plusieurs serveurs, on pourrait rencontrer des versions de cache différentes.

Pour du cache applicatif, je pense qu’il vaut mieux utiliser un cache distribué et donc (par exemple) Memcached.

Installation de Memcached et des extensions pour php et Python

Pour installer Memcached et les extensions pour Python et php, rien de plus simple  : Just Yum It !

yum install memcached.x86_64 python-memcached.noarch php-pecl-memcached.x86_64 perl-Cache-Memcached.noarch

Monitorer Memcached

Pour monitorer Memcached, j’ai trouvé sur la toile un memcache.php dans le même style que l’APC.php permettant de monitorer APC.

memcache.php

J’ai également mis en place un template pour Cacti, également trouvé sur le web, pour monitorer Memcached au sein de mon instance Cacti.

Configuration des différentes applications en place sur mon serveur

;;;;;;;;;;;;;;;
;  Memcached  ;
;;;;;;;;;;;;;;;
;  Use memcache as a session handler
session.save_handler=memcached
;  Defines a comma separated list of server urls to use for session storage
session.save_path="localhost:11211"
Avatar de Guillaume Kulakowski

À propos de l’auteur

Commentaires

2 réponses à « Mise en place et exploitation de Memcached »

  1. Avatar de NiniGeek
    NiniGeek

    J’utilise plutôt phpMemcachedAdmin pour monitorer memcached

    Sinon j’utilise memcached avec Yii et ça marche bien !

  2. Avatar de llaumgui

    @NiniGeek > Merci, je viens de tester phpMemcachedAdmin et c’est tout bonnement ce que je cherchais !

Derniers articles sur le journal

  • SeedboxSync v4.1 : Authentification OIDC, Gravatar et refonte de l’administration
    Découvrez les nouveautés de SeedboxSync v4.1 : intégration d’un système d’authentification natif et OIDC (SSO), support de Gravatar, gestion des utilisateurs en CLI, formulaires Flask-WTForm et transition vers Peewee-Migrate.
  • De Jellystat à Jellydash : moderniser le suivi de mon serveur Jellyfin
    Pourquoi et comment j’ai remplacé Jellystat par Jellydash pour le suivi des statistiques de mon serveur Jellyfin. Retour d’expérience sur la découverte de cet outil moderne, léger et prometteur repéré dans la newsletter selfh.st.
  • SeedboxSync 4.0 : Fusion de l’IHM et du CLI
    La v4.0.0 de SeedboxSync marque un tournant majeur : fusion du CLI et du frontend en une seule application, migration de la configuration en base de données, planificateur Python natif et passage à SQLite WAL. Tour d’horizon des nouveautés et des changements d’architecture.
  • Modernisation du tooling dev sur SeedboxSync : Just, pnpm, uv & Ruff
    SeedboxSync fait peau neuve côté tooling ! Retour sur la modernisation de mon environnement de dev : abandon du bon vieux Makefile au profit de Just, transition vers pnpm pour un gain de temps spectaculaire côté frontend, et adoption de uv et Ruff pour booster l’écosystème Python. Moins de friction, plus de vitesse : découvrez le détail de cette mise à jour.

Articles à la une