Le WordPress d'aujourd'hui, décodé pour les développeurs

Hébergement & serveurs

Le mécanisme de vérification des mises à jour WordPress ajoute une charge réelle à un hébergeur de mille sites

Chaque site WordPress interroge l'API officielle plusieurs fois par jour. Sur mille sites, ce trafic sortant cumulé finit par peser sur l'infrastructure elle-même.

Par WordPress Développement • 22 novembre 2022 • 5 min de lecture • Aucun commentaire
Le mécanisme de vérification des mises à jour WordPress ajoute une charge réelle à un hébergeur de mille sites

Douze heures : c’est l’intervalle par défaut auquel WordPress vérifie, pour chaque site, la disponibilité d’une nouvelle version du cœur, des extensions et des thèmes installés. Ce mécanisme, invisible pour l’administrateur d’un site isolé, devient un poste de charge à part entière lorsqu’il est multiplié par mille sites hébergés sur la même infrastructure.

Ce billet détaille ce que ce mécanisme représente concrètement pour un hébergeur qui dimensionne sa capacité sortante, sans entrer dans la configuration individuelle d’un site pour le désactiver, un sujet déjà traité par ailleurs sous l’angle de la personnalisation d’un site unique.

Le mécanisme de vérification, tel qu’il fonctionne réellement

WordPress planifie, via le système de tâches cron interne, un événement wp_version_check qui interroge l’API https://api.wordpress.org/core/version-check/ pour connaître la dernière version stable du cœur. Deux tâches complémentaires, wp_update_plugins et wp_update_themes, effectuent le même type d’appel respectivement vers api.wordpress.org/plugins/update-check/ et api.wordpress.org/themes/update-check/, en transmettant la liste des extensions et thèmes installés sur le site.

Ces trois événements sont programmés par défaut à un intervalle de douze heures via le hook twicedaily, mais leur déclenchement effectif dépend du système de cron WordPress, lui-même déclenché à chaque visite d’un site si aucun cron système n’a été configuré en remplacement. Sur un parc mutualisé où beaucoup de sites reçoivent un trafic irrégulier, ce détail change la répartition réelle de la charge dans le temps : les appels ne sont pas uniformément répartis sur la journée, ils se concentrent aux heures de plus fort trafic.

Ce que représente ce trafic à l’échelle d’un hébergeur

Sur un parc de mille sites actifs, en comptant une moyenne de deux appels sortants complets par site et par jour (cœur, extensions, thèmes regroupés dans le même appel dans la majorité des cas), l’infrastructure gère environ deux mille requêtes HTTPS sortantes quotidiennes vers les serveurs de l’API officielle. Chaque appel ouvre une connexion TLS, attend une réponse JSON, puis la traite côté PHP avant de la stocker en transitoire dans la base de données via l’option update_core, update_plugins ou update_themes.

L'essentiel à retenir : la tâche wp_version_check tourne toutes les douze heures par défaut ; chaque appel sortant consomme une connexion et un temps de réponse ; l'effet devient visible à partir de plusieurs centaines de sites actifs

Ce trafic reste modeste en bande passante brute, mais il pèse sur trois ressources moins visibles : le nombre de connexions sortantes simultanées autorisées par le pare-feu ou le proxy sortant, le temps de traitement PHP consommé pendant l’attente de la réponse de l’API, et le volume d’écritures en base de données généré par la mise à jour des options de transitoires à chaque cycle.

Un effet cumulatif plus qu’un pic ponctuel

Contrairement à un pic de trafic entrant provoqué par une campagne marketing, cette charge est diffuse et permanente. Elle ne provoque pas d’incident isolé facilement identifiable, mais elle occupe en permanence une part de la capacité sortante et des ressources PHP du serveur, part qui n’est plus disponible pour servir des visiteurs réels.

  • Sur un serveur qui exécute le cron WordPress via une requête HTTP interne à chaque visite, chaque déclenchement de wp_version_check ajoute un aller-retour PHP supplémentaire à une requête qui, sans cela, aurait été plus rapide.
  • Le stockage des résultats en transitoire dans wp_options ajoute des lignes qui, cumulées sur mille sites, gonflent une table déjà sensible aux performances de lecture sur un mutualisé.
  • Un serveur DNS ou un proxy sortant mal dimensionné peut se retrouver, lui, réellement saturé si les intervalles de vérification de plusieurs centaines de sites convergent par hasard vers les mêmes plages horaires.

Ce que les hébergeurs de grande taille mettent en place

Plutôt que d’agir site par site, un hébergeur qui gère plusieurs milliers d’installations WordPress a intérêt à raisonner au niveau de l’infrastructure de sortie : dimensionner le proxy sortant ou le pare-feu applicatif pour absorber ce trafic prévisible, et surveiller son évolution dans le temps à mesure que le parc grandit, plutôt que de le découvrir a posteriori lors d’un incident de saturation.

Ressource impactéeEffet observé à mille sites
Connexions sortantes simultanéesPic notable aux heures de forte affluence du parc
Temps PHP consommé par requête cron interneQuelques dizaines de millisecondes ajoutées par déclenchement
Volume de la table wp_optionsCroissance continue liée aux transitoires de mise à jour

Un mécanisme invisible sur un site isolé peut devenir un poste de charge mesurable dès lors qu’il est multiplié par plusieurs centaines d’installations sur la même infrastructure.

En résumé

Le mécanisme de vérification des mises à jour de WordPress n’est ni un défaut ni une anomalie : il fait partie du fonctionnement normal du cœur, et il est nécessaire à la sécurité du parc. Mais sa multiplication par mille sites en fait un poste de charge à part entière pour l’infrastructure d’un hébergeur, qui gagne à le surveiller et à le dimensionner en amont plutôt qu’à le découvrir lors d’un pic de saturation sortante inexpliqué.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Partager :

À propos de l'auteur

WordPress Développement

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

Voir tous ses articles

Dans la même veine

À lire aussi