Hébergement, Wordpress et performance
L’informatique est un monde vaste qui recouvre beaucoup de métiers différents, mais c’est quand on cherche un hébergement pour un site internet qu’on s’en rend compte vraiment. Si on passe les offres mutualisées pour parler directement VPS ou serveurs dédiés, il existe encore de nombreux hébergeurs. Et puis même si vous êtes développeur, quand il s’agit de machines, il faut un temps d’apprentissage non négligeable pour appréhender les détails. Lorsque des problèmes surviennent n’oubliez pas que les administrateurs systèmes ne sont pas des développeurs donc souvent ils peuvent vous aider sur les symptômes (c’est déjà beaucoup) mais n’écoutez pas trop leur diagnostics.
Déjà il est préférable de se situer dans la même zone géographique que vos visiteurs (il en va de même pour vos DNS) surtout si vous avez un domaine en .com qui ne donnent aucun indice au moteur de recherche quand à votre localisation.
J’ai choisi Wordpress pour un blog car même si je ne suis pas à l’aise avec le langage PHP (depuis ça va mieux) ce moteur de blogs est un des plus populaires donc avec des nouvelles versions (et des patchs) régulièrement et un écosystème vivant (pour des plug-ins, des tutoriaux, les forums etc.). Mais cette facilité vient avec un prix : la performance.
Il existe pas mal d’articles sur les performances de Wordpress et notamment son usage du CPU. Et je dois dire que j’ai mis du temps à trouver les bonnes ressources. Beaucoup de micro-optimisations sont possibles : enlever les appels à des fonctions comme bloginfo(‘url’) en préférant les urls en dur, éviter les plug-ins qui sont gourmands en requêtes SQL, utiliser un système de cache au niveau de Wordpress comme WP Super-Cache.
Toutefois voici quelques informations glanées après des recherches approfondies :
- regarder les paramètres recommandés par WP pour MySql trouvé via le blog de Coding Horror
- cette présentation donnée par l’équipe de WP est précieuse, notamment sur l’usage du système de cache APC de PHP
- Nous avons une partie indépendante de WP et nous utilisons memcached pour garder en mémoire des infomations souvent consultées et très rarement mises à jour. Ces deux liens sont intéressants pour l‘installation si vous êtes hébergés avec CPanel et Cent OS (plus il existe une page pour voir l’état du cache)
- Attention APC ne semble pas compatible avec le module suPHP (qui permet de faire exécuter PHP par un user spécifique pour des raisons de sécurité) car c’est un mode CGI , un process par requête, donc le cache n‘est pas partagé.
- Sous cPanel, utiliser easyapache (/scripts/easyapache) si vous faites une erreur, cela reconfigure Apache + PHP de façon très simple.
- Si vous n’êtes pas en hébergement partagé suPHP n’est pas recommandé car plus lent que le mode DSO, il faut juste configurer le user Apache au lieu d’utiliser le user nobody
Billet publié dans les rubriques Programmation le