Solutions pour accélérer WordPress

Les problèmes de performance auxquels nous sommes confrontés sur nos blogs WordPress nous amènent à chercher des solutions qui, lorsqu’elles s’empilent, produisent exactement le contraire de l’effet recherché !

Plugins WordPress en mode mutualisé

Parmi les très bons plugins WordPress, signalons WP Super Cache et aussi DB Cache Reloaded. Le premier génère automatiquement des pages statiques évitant l’exécution répétée des scripts Php. Quant au second, il éviterait l’exécution répétée des requêtes SQL. Pour ceux d’entre vous qui ont fait le choix d’un hébergement mutualisé, ce sont là, sans doute, les deux meilleures solutions du moment.

Au vu des tests sur mon serveur dédié, je reste très dubitatif quant à l’accélération que produisent ces deux extensions.

Cache Apache en mode dédié

Il y a aussi les mécanismes de cache spécifiques à Apache. J’avoue ne pas avoir mesuré leur impact réel.

Dans le fichier de configuration du serveur  Apache de votre machine dédiée /etc/httpd/conf/httpd.conf sous CentOS, veillez à ce que les modules mod_cache, mod_disk_cache, mod_file_cache, mod_mem_cache soient chargés en les décommentant :

LoadModule cache_module modules/mod_cache.so
#LoadModule disk_cache_module modules/mod_disk_cache.so
#LoadModule file_cache_module modules/mod_file_cache.so
LoadModule mem_cache_module modules/mod_mem_cache.so

Ajoutez, par exemple, en tant que directives globales :

#Un cache de 64 MB
MCacheSize 64000
MCacheMaxObjectCount 1000
MCacheMaxObjectSize 256000
MCacheMinObjectSize 1

Enfin, à l’intérieur des directives relatives à votre VirtualHost, ajoutez ceci par exemple :

CacheEnable mem /
#CacheEnable disk /
#CacheEnable fd /
CacheMaxExpire 3600
#CacheMinFileSize 1
#CacheMaxFileSize 65536
#CacheRoot /tmp
#CacheDirLevels 3
#CacheDirLength 2

Pour être prise en compte, ces directives exigent le rechargement de votre serveur Apache : service httpd restart sous CentOS.

PageSpeed, une solution signée Google

Google vient de mettre à la disposition des administrateurs des plates-formes Web le module Apache PageSpeed. L’éditeur du plus grand moteur de recherche annonce une division du temps de chargement par deux.

Cache MySQL en mode dédié

Très simple à réaliser, il suppose que vous puissiez intervenir sur la configuration du serveur, ce qui est strictement impossible en mode mutualisé.

Éditez le fichier /etc/my.cnf sous CentOs et, pour un cache de 256 Mo, ajoutez les lignes suivantes :

query_cache_size=1
query_cache_size=268435456

Après avoir modifié votre fichier de configuration, rechargez MySQL.

Accélérateur PHP en mode dédié

Si vous êtes en mode dédié, je vous recommande chaudement d’utiliser les extensions eaccelerator sous CentOS. xcache et apc sont également de remarquables accélérateurs.

Vous pouvez aussi faire les modifications suivantes au niveau de votre fichier de configuration /etc/php.ini :

zlib.output_compression = On
zlib.output_compression_level=9
memory_limit=64K

Après modifications, vous devez recharger le service Apache.

Pour eAccelerator, je vous recommande d’apporter les modifications suivantes au niveau du fichier de configuration /etc/php.d/eaccelarator.ini :

eaccelerator.enable   = 1
eaccelerator.keys = « shm »
eaccelerator.sessions = « shm »
eaccelerator.content = « shm »
eaccelerator.shm_only = 1

Pour fixer la taille utilisée à 64MB :

eaccelerator.shm_size = « 64 »

Memcache sous PHP et W3 Total Cache (Mode dédié)

Cette méthode est tout particulièrement réservée aux serveurs dédiés. Vous devez tout d’abord installer memcached sous CentOS en ayant ajouté au préalable les dépôts stables nécessaires à l’opération et le paquet yum-priorities :

Vous disposez d’une méthode alternative pour installer l’extension php : pecl install memcache.

Une fois installé, vous devez lancer le service memcached : service memcached start.

Installez alors le plugin WordPress W3 Total Cache. Son installation nécessite d’avoir désactivé les autres plugins de gestion de cache et tout particulièrement DB Cache Reloaded cité ci-dessus. Après avoir activé l’extension W3 Total Cache, cliquez sur le bouton Compatibility Check sur la page de l’extension et appliquez les instructions d’installations… si nécessaire.

Activez alors les quatre niveaux de cache (page, minify, database et object) selon la méthode Memcached à partir des listes déroulantes.

Squid en proxy transparent

Antoine Benkemoun a réalisé un article « éclairant » au sujet de la mise en place d’un reverse proxy avec Squid. Dans la même famille, signalons l’excellent proxy, Varnish.

J’ai, pour ma part, mis en place Squid pour limiter sur le flux sortant. Cela présente un intérêt très relatif !

Documentation officielle

Dsfc Dsfc

Solutions pour accélérer WordPress
0 votes, 0.00 avg. rating (0% score)
Tags : , , , , , , , , , , ,
Commentaires

C’est vraiment dommage que memcache ne marche pas sur ta configuration car c’est avec lui que j’ai eu le meilleur gap de performance en l’utilisant avec le plugin W3 Total Cache.

@Nicolargo

Il faudrait que tu testes de façon comparée ton site et le mien sur PingDom : http://tools.pingdom.com/

Voilà que je me trouve (mutualisé) dans la situation que tu indiques : je ne trouve pas d’amélioration intéréssante avec les plugins de cache, car leur temps de chargement et de gestion propre prend le temps gagné. Je ne trouve pas donc de solution idoine, sauf le htaccess

Laisser un commentaire

(requis)

(requis)


*