vendredi 25 septembre 2026

À propos

Contact

Performance

PHP 8.0 et son JIT : quel gain réel pour un site WordPress ?

Benchmark PHP 7.4 contre PHP 8.0, avec et sans JIT, sur des pages WordPress réelles. Les chiffres mesurés, et pourquoi le gain surprend par sa modestie.

Par Clément Hadrot • 15 octobre 2021 • 4 min de lecture • Aucun commentaire
PHP 8.0 et son JIT : quel gain réel pour un site WordPress ?

PHP 8.0, sorti en décembre 2020, a mis en avant sa nouvelle compilation JIT (Just-In-Time) comme argument phare de performance. Sur les forums et dans certains articles, le JIT est présenté comme une révolution pour WordPress. Nous avons voulu vérifier ce chiffre par nous-mêmes, sur un site réel plutôt que sur un benchmark synthétique de calcul pur, où le JIT brille naturellement bien plus.

Protocole de test

Le site testé est un blog WordPress avec une vingtaine d’extensions actives, un thème enfant basé sur un thème par blocs, sans cache de page (pour isoler la performance PHP elle-même) mais avec OPcache activé dans les trois configurations. Nous avons mesuré le temps de réponse moyen sur 200 requêtes vers une page d’article typique, via ab (Apache Bench), sur trois configurations :

  • PHP 7.4 avec OPcache.
  • PHP 8.0 avec OPcache, JIT désactivé.
  • PHP 8.0 avec OPcache, JIT activé en mode tracing.
; php.ini pour la troisième configuration
opcache.enable=1
opcache.jit_buffer_size=100M
opcache.jit=1255

Résultats mesurés

ConfigurationTemps de réponse moyenGain vs PHP 7.4
PHP 7.4 + OPcache412 ms—
PHP 8.0 + OPcache, JIT désactivé338 ms18 %
PHP 8.0 + OPcache, JIT activé318 ms23 %
L'essentiel à retenir : Le JIT accélère surtout le calcul pur, pas les I/O qui dominent WordPress ; Le passage à PHP 8.0 seul apporte plus que le JIT activé en plus ; Les gains varient fortement selon le poids des extensions installées

Pourquoi le JIT apporte si peu sur WordPress

Le JIT excelle sur du calcul intensif : boucles mathématiques lourdes, traitement d’image en pur PHP, algorithmes de compression. Or l’exécution d’une page WordPress typique passe l’essentiel de son temps en opérations d’entrée-sortie : requêtes vers MySQL, lectures de fichiers, appels au cache d’objets. Le JIT ne compile que le code PHP exécuté, il n’accélère en rien le temps d’attente d’une réponse MySQL ou d’un accès disque.

C’est le passage à PHP 8.0 lui-même, indépendamment du JIT, qui explique l’essentiel du gain observé : optimisations internes du moteur Zend, améliorations de la gestion mémoire, et meilleure performance générale des fonctions natives, cumulées sur des dizaines de milliers d’appels par page.

Un cas où le JIT change la donne

Sur un projet distinct, un plugin de génération de miniatures effectuant des calculs de redimensionnement en pur PHP (sans passer par GD ou Imagick en natif) a montré un gain de 31 % avec le JIT activé. Ce cas confirme la règle : le JIT profite aux traitements de calcul intensif écrits en PHP, rares dans le cœur de WordPress mais présents dans certaines extensions spécifiques.

Les deux modes de JIT et leur intérêt respectif

PHP 8.0 propose plusieurs stratégies de compilation JIT, réglables via la valeur numérique de opcache.jit. Le mode « function » compile des fonctions entières dès leur premier appel, tandis que le mode « tracing », utilisé dans notre test, suit l’exécution réelle du code et compile en priorité les chemins les plus empruntés. Le mode tracing donne généralement de meilleurs résultats sur du code applicatif classique, ce qui explique son choix par défaut dans la plupart des guides de configuration :

; 1255 = tracing JIT, la configuration recommandée pour un usage applicatif
; 1205 = function JIT, plus simple mais souvent moins performant en pratique
opcache.jit=1255
opcache.jit_buffer_size=100M

Un buffer JIT trop petit force PHP à recompiler en boucle, annulant une partie du gain espéré. Sur un serveur avec plusieurs pools PHP-FPM partageant la même configuration OPcache, vérifiez que ce buffer reste dimensionné pour l’ensemble du trafic, pas seulement pour un site isolé.

Conclusion pratique

  • Le passage de PHP 7.4 à PHP 8.0 est la priorité, avec un gain net et systématique sur ce test comme sur la plupart des sites WordPress.
  • Le JIT peut être activé sans risque une fois la compatibilité des extensions vérifiée, mais n’en attendez pas de miracle sur un site WordPress classique.
  • Si le site héberge des traitements de calcul intensif en PHP pur (génération d’image, calculs statistiques), le JIT mérite une mesure dédiée, le gain peut y être bien plus visible.

Un chiffre marketing mesuré sur un benchmark synthétique ne dit jamais ce qu’il se passe réellement sur une page WordPress chargée de requêtes SQL.

Notre verdict

Le JIT de PHP 8.0 n’est pas un mythe, mais son impact réel sur WordPress reste modeste comparé au gain apporté par la mise à jour de version elle-même. Priorisez la migration vers PHP 8.0, vérifiez la compatibilité de vos extensions avant tout, et considérez le JIT comme un bonus à tester plutôt que comme l’argument principal de la mise à jour.

Partager :

À propos de l'auteur

Clément Hadrot

Développeur WordPress, passionné par Elementor, le FSE et l’automatisation par IA.

Voir tous ses articles

Dans la même veine

À lire aussi