Dans la série performance, nous avons récemment vu qu’il était possible de donner un véritable coup de boost à WordPress en utilisant des technologies côté serveur, avec, entre autre, la mise en place du serveur web Nginx.
Néanmoins, Nginx reste encore réservé aux plus geeks d’entre nous, de plus, ce dernier ne sait pas lire les instructions du fichier htaccess, ce qui rend sa mise en œuvre encore un peu plus compliqué, voir hasardeuse pour le plus grand nombre.
Actuellement, c’est donc le serveur Apache qui est le plus usité sur la toile. Si les ressources ne manquent pas pour comprendre son utilisation, il n’est pas toujours évident d’ajuster les performances de ce dernier.
A ce titre, j’ai découvert qu’il existait deux versions d’apache. La première, la plus classique, qui se nomme mpm-prefork ne donne pas le meilleur en terme de performance. La seconde, nommée pmp-worker est en revanche vivement conseillée pour obtenir un serveur puissant, sans sacrifier la stabilité. Alors, forcément, lorsque j’ai entrepris de remonter un nouveau serveur pour 4h18, j’ai décidé d’installer cette dernière version.
La nouvelle configuration
- OS : Ubuntu 10.10 (Image Gandi, installation mode Expert)
- Serveur web Apache 2 mpm-worker
- Systèmes de cache : APC et Memcached
- PHP : Version 5 – Php-fpm
- Proxy Reverse : Varnish
- WordPress + W3 Total Cahce
Varnish, parlons en. Que cela soit avec Nginx ou avec Apache, Varnish est véritablement une merveille et donne des résultats sensationnel !
AB Test, les résultats du test
ab sans varnish
Requests per second: 460.18 [#/sec] (mean)
Time per request: 10.865 [ms] (mean)
Time per request: 2.173 [ms] (mean, across all concurrent requests)
ab avec varnish
Requests per second: 4003.57 [#/sec] (mean)
Time per request: 1.249 [ms] (mean)
Time per request: 0.250 [ms] (mean, across all concurrent requests)
Un vrai gain de puissance
Comme vous le constatez, le nombre de requête que le serveur est capable de traiter avec Varnish activé est simplement décuplé. Et les incidences ne se font pas attendre. Les résultats avec YSlow prennent tout de suite une mailleure gueule. Le site 4h18 qui obtenait un grade D passe en grade B. Je n’obtient pas le A en raison des multiples appels à des fichiers Javascript externes (Facebook, Twitter, Google, LinkedIn et consort).
Éliminer les scripts externes ?
Au passage, on notera que l’emploi de ces scripts pose de réels problème en terme d’optimisation de nos sites. D’un côté, il nous est demandé d’optimiser nos pages pour un meilleur confort de surf, un meilleur référencement, et de l’autre, on nous sert des JS lourd à souhait, hébergés sur des serveurs sur-saturés. Cherché l’erreur. La solution, brutale, serait sans doute de se passer de ces services.
Néanmoins, en utilisant un système de cache sur WordPress, comme W3 Total Cache, il est possible de limiter l’impact de ces fichiers. Mais ce n’est pas encore ça.
Le cache WordPress : Rustine ou coup de boost ?
D’ailleurs, le temps que j’y suis,si vous utilisez un cache comme W3 Total Cache sur un serveur non optimisé, ne vous attendez pas à des miracles. Votre site continuera de ramer. Certes, vos pages seront servies un peu plus vite, mais de là à parler d’optimisation, il est un pas que je ne franchirais pas. Dans ce cas là, il est plus question de rustine sur une chambre à air déjà bien percée.
Quelles sont les conclusions ?
D’abord, il n’y a pas de secret, si vous souhaitez avoir une machine capable de donner des hautes performances, il va vous falloir mettre la main au porte monnaie. Exit le serveur mutualisé. Pour notre plus grand bonheur, les technologies Hardware ont fait un grand bond et il n’est plus besoin de s’équiper d’un serveur dédié hors de prix pour obtenir une bonne machine.
Passage en caisse
Gandi, par exemple, propose une architecture à moindre coût qui va vous permettre de tirer le meilleur de votre WordPress. Dans mon cas, j’ai donc un serveur 1 part avec un module de mémoire supplémentaire, soit un total de 512 Mo de Ram. Cela pourrait sembler peu, pourtant, avec une bonne optimisation logiciel, cette machine peut encaisser un bon nombre de visiteurs. Et si le trafic venait à exploser, il est possible d’ajouter des modules « à chaud » au serveur. Actuellement, cette architecture me coûte 16 euros par mois. Elle est donc amortie par la présence de publicité Adsense sur le site.
Du temps, du net et Twitter
Ensuite, si comme moi vous n’êtes pas un administrateur système dans l’âme, armez vous de patience. Il vous faudra des heures et des heures avant d’obtenir ce que vous souhaitez. Mais vous ne serez pas seul. Le net regorge de tutos, et Twitter peut être d’une aide précieuse. Dans mon cas, j’ai eu la chance d’avoir un bon coup de plusieurs followers. J’en profite pour les remercier. Je ne les nomment pas ici, histoire que leur compte ne devienne pas un support en ligne pour débutants en mode panique
Un projet murement réfléchis
Avant de vous lancer tête baissée dans la création d’un site WordPress, je ne saurais trop vous conseiller de bien penser votre projet en amont. Les objectifs de votre site vont avoir une incidence direct sur le choix de la machine qui va héberger votre site. Faites le bon choix d’entrée, vous vous éviterez bien des tracas par la suite.
Là dessus, je vous souhaite bien du courage. Mais le résultat en vaut la peine.
Amusez-vous bien !
Annexe
Les ressources que j’ai utilisées
Ayez la partigitude, la cool attidude, c'est ça la bloguitude !




#WordPress : Apache2 et Varnish : Le coup de boost ? Analyse : http://t.co/YMckpKN
As-tu des données sur la différence de perfs entre les deux versions d’apache ? ça serait intéressant.
Et ton serveur n’héberge que 4h18.com ?
Encore un très bon article en tout cas
Question performances, je n’ai pas conservé les résultats effectués avec la version prefork. Ensuite, effectivement, le serveur sur le quel je viens de poser 4h18.com lui est entièrement réservé. Mais ce ne n’est pas une bête de course : 1part processeur et 512Mo de Ram.
A titre de comparaison, j’utilisais un dédié chez OVH avec un DualCore et 2Go de Ram. Et les résultats de l’ab test étaient lamentable.
Merci pour le compliment
Booster WordPress ? C’est possible : http://t.co/YMckpKN
Un serveur dédié chez Gandi à 16 euros par mois ???
Ca m’intéresse !!!
De quel produit précisément s’agit-il ?
Tiens, je pensais avoir répondu ! Mes excuses.
Il s’agit du VPS 1 part, l’entrée de gamme en somme.
Le truc sympa, c’est que tu augmenter ton nombre de part « à chaud », sans reboot ou autre. Pratique.
Vous avez une petite idée d’à partir de combien de visiteurs faut passer par un dédié ? Je suis sur un mutualisé chez ovh
Ce n’est pas tant une question de visiteurs, mais de ressources. SI avec 100 visiteurs / jour, ton serveur rame comme un dingue, faut envisager de nouvelles solutions. Cette histoire de ressources dépend de la façon dont tu utilises ton wordpress (thèmes,plugins…). Perso, 4h18 est sur un dédié, histoire d’avoir la paix, tant pour certains plugins qui demandent des installations linux particulières, que pour apache, les ressources, etc…
Ok juste une dernière question. Avec un serveur dédié, le chargement des pages est il plus rapide ?
Dans la logique, cela devrait. Mais ce n’est pas toujours le cas. Un serveur dédié, il faut le configurer, le « tuner » afin d’en tirer le meilleur pour ce dont tu as besoin, et ce n’est pas une mince affaire.