Chapitre 5 : Performance et robustesse avec Drupal

La performance est bien entendu un élément stratégique pour n’importe quel site. Qui voudrait d’un site lent ou qui ne puisse pas servir les pages correctement ? Drupal intègre nativement ou via des modules plusieurs systèmes d’optimisation visant à offrir un niveau de performance très élevé.

performance drupal

Avec APC, Drupal résiste aux charges importantes

L’Alternative PHP Cache est un premier pas vers la performance. Ce module compile les fichiers PHP et stocke la résultante en mémoire. Lors des requêtes suivantes, plutôt que de consommer du temps processeur précieux et coûteux, le module ira chercher directement le résultat en mémoire afin de le servir quasi instantanément. Jouant sur le temps nécessaire à la réinterprétation du code PHP, ce module, une fois bien réglé, permet de soutenir une charge conséquente sur n’importe quel Drupal.

Et avec Memcached, même pour les structures les plus complexes

A l’instar d’APC Memcached utilise la mémoire pour stocker du code déjà compilé. La nuance entre les deux se situe sur la mise en œuvre et la volumétrie. Memcached utilise une architecture client-serveur permettant une gestion plus efficace pour une architecture avancée. Le client requête le serveur lorsque nécessaire et stocke dans sa base associative les éléments qu’il aura compilés.

module memcached

Cette solution est mise en œuvre sur des architectures complexes telles que Facebook, Youtube, Twitter ou encore Wikipédia.

Varnish : l’objectif de très haute performance

Le touche-à-tout, l’ultime reverse-proxy, l’excessivement configurable Varnish reste un must dans le cadre d’un objectif de performance élevé. Il se placera entre l’utilisateur et le serveur afin de faire tampon et de gérer les requêtes vers le serveur-maître uniquement lorsque celles-ci sont nécessaires. Pour tout le reste, il sera l’interlocuteur privilégié du navigateur : via son architecture multithreadée, il sera à même de gérer de très lourdes charges.

Il peut aller plus loin en mettant en place du load-balancing permettant d’avoir plusieurs serveurs derrière le même site pour encore augmenter le nombre d’utilisateurs concurrents. Toutes ces fonctionnalités sont au prix d’une configuration longue et complexe qui n’en vaut la peine qu’en cas de site à fort trafic. Bien entendu Drupal supporte aussi très bien les CDN (Content Delivery Network) tel que le CloudFront d’Amazon ou les solutions d’Akamai afin de faire parvenir vos informations au plus grand nombre le plus rapidement possible.

Avantages-clés pour l’annonceur

Drupal permet donc de disposer d’un site web robuste et rapide. C’est un avantage pour l’annonceur, qui voit les coûts de fonctionnement de son site baisser, et un avantage pour l’internaute, qui bénéficie d’une meilleure expérience de navigation, qui l’incitera d’autant plus à visiter à nouveau le site web.