HHVM, cas concret avec WordPress

closeCet article a été publié il y a 6 ans 2 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.

hhvm-logoHHVM 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.

Philippe Scoffoni

Je barbote dans la mare informatique depuis 30 ans (premier ordinateur à 16 ans, un ORIC ATMOS) et je travaille à mon compte au travers de ma société Open-DSI. J'accompagne les associations, TPE et PME dans leurs choix et dans la mise en oeuvre se solutions informatiques libres.

9 réponses

  1. Angristan dit :

    Nginx + PHP 7 c’est encore mieux 🙂
    J’utilisais HHVM avant puis à la sortie de PHP 7 j’ai switché, je ne regrette pas !

  2. Quels gains as-tu constaté sur quels points 🙂 ?
    J’avoue que PHP7 me semble un poil plus « secure » en terme de support du…. PHP

  3. Bonob0h dit :

    @Philippe
    Corrections 1 au dessus première image : HHVM à la version 7 de PHP et là encore ce dernier sort gagnant /… la version 7 de PHP à HHVM et là encore ce dernier sort gagnant 😉
    Correction 2 à la fin : L’écart constaté aurait probablement (était) moindre. (été) 😉

    Sinon justement je pensais te parler de cette petite guéguerre entre HHVM / PHP7 qui fait des siennes depuis qq temps 😉
    A titre perso je dirais qu’il vaut mieux un peux moins de perf que de prendre de l’Open de Facebook … question éthique à moyen long et même court terme et vu les stratégies qu’ils déploient pour effacer la concurrence pour mieux recentrer sur eux 😉

  4. @Bonob0h : merci pour les corrections 😉
    Utiliser du code open source de Facebook est-ce éthique ? Voilà une bonne question 🙂
    Même question pour les monceaux de codes libérés par Google.

  5. David Mentré dit :

    Difficile de faire la part entre le gain lié à Nginx et HHVM. Il aurait mieux valu tester par étapes.

  6. fabien dit :

    Article très intéressant. Pour moi aussi HHVM est un sujet qui me titille mais auquel je reste un peu en retrait. Je suis actuellement plutôt satisfait du stack Nginx (PHP-fpm) + Varnish + Memcached, et je me demande s’il y aurait un gain de performance notable à passer à HHVM.

  7. seb24 dit :

    @Philippe Scoffoni, as tu vu des differences en termes de réactivité/temps de réponse du serveur ?

  8. Cyrille dit :

    Je vote également pour le PHP7, je ne peux plus m’en passer!

  1. 8 février 2016

    […] Retour d'expérience sur la mise en oeuvre de HHVM, le moteur open source de Facebook pour PHP  […]