Optimisation TYPO3 - cacher les pages avec memcache

Dans le cadre de l'amélioration de chargement de page sur le CMS TYPO3, EVO techblog publie un article sur l'usage de l'extension Evo_nginx_boost qui utilise le memcache de PHP.

Memcache

Olivier Doucet explique assez bien le fonctionnement de memcache et de ses avantages : Approche de Memcache avec PHP

Memcache est un module PHP additionnel. C'est un "serveur de cache". Il s'agit d'un démon UNIX qui tourne sur un serveur et qui enregistre/sert tout type de variable.

Vous pouvez gérer un pool de serveur Memcache avec le module PHP. Si un serveur est inaccessible, la librairie ira automatiquement se connecter à un autre serveur. Cette partie est donc totalement externalisée et vous n'aurez donc pas à vous en occuper depuis PHP (ou presque).

Serveur nginx (engine X)

Pour l'utilisation de ce plugin, l'équipe de EVO préconise l'utilisation du serveur nginx, mais il semble que celui-ci reste optionnel. Pour avoir des plus amples informations sur ce serveur consulter les articles : Optimiser son serveur Web avec Nginx ou How to boost/speed up your TYPO3 website with nginx

nginx typo3 architecture

Le problème principal affectant les serveurs Web comme Apache est la quantité de RAM disponible sur le système. Un serveur ne devrait jamais saturer sa RAM et utiliser le SWAP, c’est-à-dire la mémoire virtuelle sur le disque dur.

Nginx est un serveur asynchrone par opposition aux serveurs synchrones où chaque requête est traitée par un processus dédié. Au lieu d’exploiter une architecture parallèle et le multiplexage temporel des tâches par le système d’exploitation, Nginx utilise les changements d’états pour gérer plusieurs connexions en même temps ; le traitement de chaque requête est découpé en de nombreuses mini-tâches et permet ainsi de réaliser un multiplexage efficace entre les connexions.

Configuration de Evo_nginx_boost

Evo_nginx_boost permet de configurer un cache pour chaque page de l'arborescence. Si aucune configuration n'est réalisée Evo_nginx_boost va lire les paramètres par défaut de config.cache_period. De plus, il existe des paramètres pour les utilisateurs connectés ou non-connectés. Par exemple, durant les heures de grand trafic d'un forum, le temps de cache pour les utilisateurs non-connectés peut être de 120 secondes, tandis que memcache peut être inactif pour les utilisateurs connectés.

Pour la gestion du cache

  1. Grâce à la fonction de cache FE standard
  2. Supprimer le memcache par page - menu contextuel
  3. Supprimer le memcache d'une branche - menu contextuel
remove-memcache-TYPO3

Les performances est un sujet majeur dans les communautés de développement de CMS et en particulier de la communauté TYPO3.

Lire Evo_nginx_boost extension.