Que sont les travailleurs PHP et pourquoi devriez-vous vous en soucier ?

Publié: 2022-06-30

Avez-vous déjà parcouru le site Web de votre café préféré et, lorsque vous passez votre commande avec cette nouvelle commande de café, vous obtenez une erreur 504 après un certain délai ?

Ou peut-être que vous naviguiez sur votre site Web sportif préféré et que vous essayez de charger la page suivante, cela prend un certain temps à charger et revient avec une erreur de délai d'attente ?

Ces situations sont frustrantes et ne correspondent pas à ce à quoi nous nous attendons lorsque nous regardons un site. Dans les deux cas, la cause peut être qu'il n'y a pas suffisamment de workers PHP alloués à un site. Sans suffisamment de travailleurs PHP, un site ne peut pas traiter toutes les demandes de site qui arrivent s'il y en a un plus grand nombre. Ce n'est pas une bonne situation, car la vitesse du site est extrêmement importante pour convertir les visiteurs en prospects et en clients.

Qu'est-ce qu'un Worker PHP ?

Qu'est-ce qu'un worker PHP ? Les travailleurs PHP créent des pages et gèrent les demandes qui nécessitent un traitement backend sur votre site. Les travailleurs PHP sont directement responsables de la génération de pages HTML pour les visiteurs de votre site. Pour cette raison, ils déterminent le nombre de demandes non mises en cache qu'un site Web peut traiter à un moment donné.

Il s'agit généralement de tâches actives telles que la vérification de l'inventaire d'un article spécifique ou de quelque chose d'aussi complexe que l'affichage et la liste de toutes les commandes précédentes d'un client. Lorsqu'un worker PHP est démarré, il reste persistant jusqu'à ce que les processus soient terminés ou que certaines conditions soient remplies.

Considérez les travailleurs PHP comme une ligne de paiement dans une épicerie où chaque article à scanner est un processus PHP.

Si vous n'avez qu'un seul travailleur PHP (une ligne de paiement), tout doit passer par cette voie de paiement unique, et le caissier ne peut traiter qu'une seule commande à la fois. Les workers PHP peuvent limiter le nombre de transactions simultanées ou simultanées sur un site. Comme mentionné précédemment, si vous n'avez que quatre travailleurs PHP (quatre lignes de paiement), le site ne peut traiter que quatre transactions à la fois.

Le guide essentiel 2022 des plugins WordPress >>

Cependant, cela ne signifie pas que le cinquième client (processus PHP) ou au-delà n'est pas traité. Les processus PHP sont placés dans une file d'attente pour le travailleur, ce qui signifie qu'il traite la première requête en ligne, puis passe au processus PHP suivant dans la file d'attente. En d'autres termes, une longue file d'attente se forme et les gens commencent à attendre.

Heureusement, les employés de PHP traitent les informations plus rapidement que les caissiers des épiceries. Ils fonctionnent très rapidement et peuvent effacer la plupart des processus en quelques millisecondes. En n'ayant que quelques travailleurs PHP supplémentaires, vous pouvez avoir beaucoup plus de processus simultanés pouvant être exécutés en même temps, ce qui signifie que davantage de commandes clients peuvent être traitées en même temps.

Que se passe-t-il lorsque vous avez trop peu de travailleurs PHP par site

Disons que vous n'avez que deux workers PHP sur un site et que vous avez plusieurs plugins et un thème lourd. Ces deux travailleurs PHP seront constamment utilisés uniquement pour traiter les plugins et les processus de thème, laissant une file d'attente pour se constituer immédiatement pour les nouvelles demandes de page des visiteurs de votre site.

Si vous exploitez un site de commerce électronique en plus de cela, cela ne fera qu'augmenter le montant de la file d'attente. Tout comme les clients qui font la queue, certains processus PHP abandonneront la file. Les processus qui ne sont pas écrits pour abandonner la ligne, ou expirer, et resteront assis et attendront. Ensuite, ils commenceront à mettre une charge beaucoup plus élevée sur les ressources du serveur. C'est comme si la ligne de paiement faisait maintenant le tour du pâté de maisons!

Les processus PHP sur un site Web WordPress peuvent être aussi simples que la soumission d'un formulaire de contact ou une demande de géolocalisation d'un visiteur en fonction de son adresse IP ou de son code postal.

Pour les sites Web de commerce électronique, cela peut sembler un peu différent. Des éléments tels que les nouvelles commandes en cours de traitement, les paniers et les connexions des clients utiliseraient tous les travailleurs PHP. Les produits ou les descriptions seront généralement mis en cache, ce qui ne nécessite généralement pas de processus PHP pour l'affichage. Avoir seulement trois à cinq travailleurs PHP signifie que vous ne pouvez avoir que ce nombre de transactions simultanées sur le site Web et que les travailleurs PHP traiteront les demandes dans l'ordre dans lequel elles ont été déclenchées (tout comme une ligne d'achat).

Comment alléger la charge de vos travailleurs PHP

Un problème courant pour commencer pour les travailleurs PHP est d'avoir trop de plugins et de thèmes lourds. Vous pouvez généralement aider à atténuer les problèmes causés par un site Web gonflé grâce à ces conseils :

  1. Ajouter la mise en cache du site avec un plugin
  2. Réduisez les appels externes vers des sites distants
  3. Optimisation générale du site

L'optimisation du site peut devenir compliquée, en particulier avec les sites qui connaissent un trafic plus important qui nécessite plus d'attention aux détails. En règle générale, plus le site est grand, plus il doit être efficace dans la manière dont il demande ses styles, ses produits, ses commandes et ses clients. De cette façon, vous utilisez moins les travailleurs PHP pour les fonctionnalités générales du site et les travailleurs PHP peuvent traiter efficacement ce qui compte - votre trafic.

Les plans Nexcess sont livrés avec suffisamment d'utilisateurs simultanés pour que même le plus grand des sites puisse gérer le trafic.

Avec Nexcess, vous avez déjà 20 utilisateurs simultanés dans le cadre d'un plan XS. Cela augmente par incréments de 20 à mesure que vous passez au plan XXL (qui en compte 120).

Guide du débutant sur l'optimisation des performances de WordPress >>

D'autres plates-formes d'applications gérées proposent entre deux et quatre agents PHP dans les offres d'introduction. L'hébergement Nexcess Managed WordPress, WooCommerce et Magento intègre également une mise en cache côté serveur qui aide à minimiser l'utilisation des travailleurs PHP pour traiter le contenu statique, permettant aux travailleurs PHP de traiter les demandes des personnes qui comptent le plus : vos clients.

Maintenir un site plus rapide avec plus de travailleurs PHP

Cependant, les travailleurs PHP peuvent gérer des milliers de processus chacun ; de nombreux facteurs entrent en jeu, notamment :

  • Combien d'appels extérieurs passent-ils ?
  • Combien de plugins sont en concurrence avec les demandes de la base de données ?

De plus, l'ajout de travailleurs PHP à un site augmentera également l'allocation des ressources utilisées à partir du serveur. Plus il y a de processus PHP en cours d'exécution, plus il faudra d'allocations de RAM et de CPU, créant ainsi des charges plus lourdes sur le serveur et avoir autant d'optimisation que possible peut réduire cette charge du serveur. Les travailleurs PHP sont essentiels, mais ils ne sont pas une solution magique et unique.

Plus il y a de plugins (même inactifs), plus les workers PHP sont utilisés pour traiter les requêtes non statiques. Il en va de même pour les thèmes très en vedette.

Pour cette raison, il est toujours judicieux d'utiliser la mise en cache et un réseau de diffusion de contenu (CDN) pour réduire la charge de travail des travailleurs PHP. Cela optimisera votre site pour traiter les demandes des clients de la manière la plus rapide possible.

Mieux est intégré avec l'hébergement entièrement géré de Nexcess

L'amélioration des performances de votre site Web commence par un hébergement de haute qualité. Avec l'hébergement WordPress et WooCommerce entièrement géré de Nexcess, vous obtenez :

  • Mise à l'échelle automatisée pour garder votre site rapide pendant les pics de trafic.
  • Images automatiquement optimisées pour des temps de chargement rapides.
  • Temps de chargement ultra-rapides grâce à notre CDN intégré.
  • Et plus!

Découvrez pourquoi les utilisateurs nous ont attribué une note de 4,6 étoiles sur 5 sur Trustpilot. Faites l'expérience d'un hébergement optimisé pour votre site. Découvrez nos plans pour commencer dès aujourd'hui.