HHVM, CAS CONCRET AVEC WORDPRESS

HHVM ou Hip Hop Virtual Machine est une machine virtuelle développée par Facebook afin de compiler et interpréter le code des langages PHP et Hack (un langage proche de PHP). Ces derniers temps, pas mal d’articles, tutoriels, tests ont fleuris dans la blogosphère geek à son sujet.

L’intérêt de cet outil open source serait d’offrir des performances de premier plan face à l’interpréteur standard du langage PHP. Des tests ont notamment opposé la version 7 de PHP à HHVM et là encore ce dernier sort gagnant. Un exemple de comparatif trouvé sur developpez.com.

HHVM-PHP7-Drupal-8

Le résultat semble sans appel.

Reste à savoir d’une part si HHVM est réellement stable et surtout s’il ne pose pas de problème de compatibilité. Là-dessus, il y a dans mon esprit un doute encore. Mais en parcourant divers sites, il semble que la compatibilité avec WordPress soit plutôt bonne.

Je suis un peu comme l’apôtre Thomas, et je ne crois que ce que je touche. Il me fallait un cobaye. J’aurais pu commencer par ce site, mais une occasion s’est présentée par ailleurs avec la mise à jour d’une plateforme WordPress. Le site candidat reçoit environ 6000 visiteurs par jour. Il est hébergé sur un serveur dédié que je gère.

Après quelques tests histoire de vérifier que le changement de moteur ne va pas provoquer de catastrophe nucléaire, j’effectue la bascule d’Apache vers le combo Nginx + HHVM. Le résultat en terme de charge sur la machine est sans appel.

Sélection_177

Comme vous pouvez le voir, la courbe de charge CPU s’effondre… Nous voilà donc avec un serveur dédié qui pourrait encaisser bien plus de trafic. Cela fait bientôt une grosse semaine que le site tourne et le client ne m’a signalé aucun dysfonctionnement.

Évidemment, je vais continuer à surveiller cela comme le lait sur le feu. Ce site aura aussi droit à son passage sous HHVM prochainement. Je vais en profiter pour mettre à jour la Debian qui l’héberge et qui est actuellement en version 7.

J’ajouterais quand même un bémol. Le passage d’Apache vers un combo type Nginx + Php-fpm aurait déjà permis de gagner en performance. L’écart constaté aurait probablement été moindre.

N’hésitez pas à faire part de vos retours d’expérience sur le sujet.