Faire fonctionner un site WordPress de manière fluide et efficace implique de comprendre des éléments techniques, tels que les limites de mémoire de PHP et les workers PHP. Mais que signifient exactement ces termes et quel est leur impact sur les performances de votre site WordPress?

Imaginez votre site WordPress comme un café animé. La limite de mémoire de PHP est comme l’espace de stockage des grains de café, du lait et des autres ingrédients. Si l’espace de stockage est trop petit, vos baristas (processus PHP) auront du mal à préparer des boissons efficacement parce qu’ils seront toujours à court de provisions. D’autre part, les workers PHP sont comme les baristas que vous avez dans votre personnel. Un plus grand nombre de baristas signifie qu’un plus grand nombre de boissons peuvent être préparées simultanément, ce qui réduit le temps d’attente des clients.

Cet article explique la limite de mémoire de PHP et les workers PHP, quand les ajuster pour des performances optimales, et comment le faire sur les serveurs Kinstas.

Qu’est-ce qu’une limite de mémoire PHP ?

Chaque fois que votre site charge une page, active une extension ou utilise une fonctionnalité du thème, des scripts PHP s’exécutent et ont besoin de mémoire pour fonctionner correctement. La limite de mémoire PHP détermine la quantité de mémoire à laquelle votre site WordPress a accès.

Vous voudrez une limite de mémoire PHP suffisamment élevée pour que votre site puisse gérer toutes ses tâches sans rencontrer de problèmes tels que :

  • Chargement lent des pages – Un manque de mémoire peut ralentir l’exécution des scripts PHP, ce qui rallonge le temps de chargement des pages.
  • Défaillance des extensions – Les extensions gourmandes en ressources peuvent ne pas fonctionner correctement si elles n’ont pas assez de mémoire.
  • Écran blanc de la mort – Lorsqu’un script PHP manque de mémoire, votre site peut afficher un écran blanc au lieu de se charger correctement.

Que sont les workers PHP ?

Les workers PHP sont un autre élément crucial qui influe sur les performances de votre site WordPress. Les workers sont des processus d’arrière-plan sur un serveur qui gèrent l’exécution du code PHP qui alimente votre site.

Dans WordPress, ces workers sont responsables de la construction des pages, du traitement des tâches planifiées, et plus encore. Ils génèrent également des pages HTML pour les visiteurs de votre site et déterminent le nombre de requêtes simultanées non mises en cache que votre site peut gérer à tout moment.

Lorsqu’un visiteur accède à votre site WordPress, une requête est envoyée au serveur, qui est ensuite traitée par un worker PHP. Plusieurs requêtes peuvent être traitées simultanément si votre site dispose de plusieurs workers PHP. Par exemple, si votre site dispose de deux workers PHP et que cinq requêtes arrivent simultanément, deux d’entre elles seront traiées immédiatement, tandis que les trois autres attendront dans la file d’attente que les deux premières aient été traitées.

Ce système de file d’attente permet de gérer le trafic, mais il signifie également qu’un nombre insuffisant de workers PHP peut entraîner des retards et des temps de réponse plus lents lorsque plusieurs requêtes sont effectuées en même temps.

Gérer les limites de mémoire de PHP

La limite de mémoire PHP par défaut de Kinsta est de 256 Mo, ce qui est plus que suffisant pour la plupart des extensions et sites WordPress.

Il est également important de savoir que si vous fixez la limite trop haut, un script mal configuré ou cassé peut causer de sérieux problèmes en utilisant trop de mémoire.

Quand augmenter la limite de mémoire de PHP ?

Augmenter la limite de mémoire de PHP peut s’avérer essentiel pour maintenir les performances et la stabilité de votre site WordPress lorsqu’il s’agit de tâches gourmandes en ressources.

Le signe le plus courant que votre limite de mémoire PHP doit être augmentée est lorsque vous rencontrez des messages d’erreur tels que « Allowed memory size exhausted ». Cela indique que la limite de mémoire actuelle est insuffisante pour exécuter des tâches.

Voici un exemple de message d’erreur :

PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 20480 bytes)

Ce message signifie que le script PHP a tenté d’allouer plus de mémoire que les 256 Mo (268 435 456 octets) autorisés, ce qui a entraîné une erreur d’épuisement de la mémoire. Le script a essayé d’allouer 20 Ko (20 480 octets) supplémentaires, mais n’a pas eu assez de mémoire.

Si votre site est hébergé sur Kinsta, ces erreurs d’épuisement de la mémoire sont journalisées automatiquement. Vous pouvez vérifier ces erreurs sur le tableau de bord MyKinsta. Naviguez vers votre site et sélectionnez l’onglet Journaux.

Le journal des erreurs MyKinsta du site WordPress.
Le journal des erreurs MyKinsta du site WordPress.

Recherchez les entrées « PHP Fatal error » et « Allowed memory size exhausted » Ces journaux indiqueront la limite de mémoire exacte dépassée et la mémoire supplémentaire que le script a tenté d’allouer.

En surveillant ces journaux, vous pouvez déterminer si votre site atteint fréquemment la limite de mémoire de PHP et décider d’augmenter l’allocation de mémoire pour garantir une exécution fluide des scripts.

Comment augmenter la limite de mémoire PHP de votre site ?

Lorsque la limite de mémoire PHP d’un site doit être augmentée, les clients de Kinsta peuvent acheter un module de limite de mémoire PHP.

Ce module augmente la limite de mémoire de 256 Mo à 512 Mo pour 50 $ par site et par mois.

Pour acheter ce module, veuillez contacter l’équipe de gestion des comptes via la discussion en direct dans le tableau de bord MyKinsta ou envoyez-nous un e-mail à [email protected].

Gérer les workers PHP

Les workers PHP sont particulièrement importants pour les sites qui ne mettent pas beaucoup de contenu en cache. Plus un site est dynamique, plus il aura besoin de workers PHP. Le contenu mis en cache ne nécessite pas de workers PHP ; il n’est nécessaire que lorsque le site interroge la base de données pour obtenir ou modifier des informations ou lorsqu’il a besoin d’exécuter d’autres scripts PHP.

Cela signifie qu’une mise en cache efficace peut réduire de manière significative la charge de travail des workers PHP en servant le contenu mis en cache au lieu de le générer dynamiquement pour chaque requête.

Chez Kinsta, nous donnons la priorité à la performance de votre site en mettant en œuvre diverses technologies pour maximiser la performance de PHP. Nous offrons une mise en cache des pages au niveau du CDN et du serveur, nous utilisons des serveurs premium (machines virtuelles C2 et C3D) équipés des CPU les plus rapides de Google Cloud, et nous garantissons un serveur MySQL hautement optimisé hébergé localement pour réduire la latence du réseau et améliorer la vitesse de récupération et de traitement des données.

Quand ajouter des workers PHP ?

Le nombre de workers PHP nécessaires dépend de plusieurs facteurs, notamment de sa dépendance aux requêtes de base de données, de l’optimisation du code et du type de trafic qu’il reçoit.

Un site optimisé avec un code PHP et des requêtes de base de données efficaces traitera les requêtes rapidement, libérant ainsi des workers PHP pour la requête suivante.

Les sites dynamiques tels que les boutiques de commerce électronique, les forums, les sites d’apprentissage et les sites d’adhésion nécessitent généralement plus de workers PHP que les sites statiques de type brochure. En outre, les sites les plus fréquentés ont généralement besoin d’un plus grand nombre de workers PHP pour faire face à l’augmentation du trafic.

L’ajout de workers PHP peut aider à gérer l’augmentation du trafic et à réduire les temps d’attente pour le traitement des requêtes, mais il est essentiel de trouver un équilibre avec les ressources CPU et RAM disponibles. Si le serveur ne dispose pas de suffisamment de CPU et de RAM pour prendre en charge des workers PHP supplémentaires, cela peut créer un goulot d’étranglement et entraîner des problèmes de performances.

Avec Kinsta, vous pouvez surveiller l’activité des workers PHP à l’aide de l’outil APM de Kinsta pour identifier les problèmes de performance et les requêtes lentes.

L'outil APM de Kinsta dans MyKinsta.
L’outil APM de Kinsta dans MyKinsta.

Si votre site atteint fréquemment sa limite de workers PHP, il se peut que vous deviez ajouter plus de workers PHP ou optimiser le code et les requêtes de votre site pour améliorer les performances.

Comment ajouter des workers PHP

Pour ajouter plus de workers PHP à votre site, vous pouvez mettre à niveau votre plan d’hébergement ou acheter des workers PHP supplémentaires. Voici comment procéder :

  • Passez à un plan d’hébergement supérieur – Chaque plan Kinsta dispose d’un nombre spécifique de workers PHP. En passant à un plan supérieur, vous augmentez le nombre de PHP workers de votre site. Par exemple, passer d’un plan starter à un plan business augmentera votre nombre de workers PHP de deux à quatre.
  • Plans personnalisés – Pour les sites ayant des besoins spécifiques, Kinsta propose des plans personnalisés dans lesquels vous pouvez spécifier le nombre de workers PHP nécessaires. Cette solution est idéale pour les sites à fort trafic ou les sites au contenu dynamique important. Contactez l’équipe commerciale de Kinsta pour discuter de vos besoins et obtenir un devis personnalisé.

En augmentant le nombre de workers PHP, vous pouvez aider votre site à gérer plus de requêtes simultanées, ce qui se traduit par de meilleures performances et une expérience utilisateur plus fluide.

Cependant, assurez-vous toujours que votre serveur dispose de suffisamment de ressources CPU et RAM pour supporter les workers PHP supplémentaires afin d’éviter de créer des goulots d’étranglement au niveau des performances.

Meilleures pratiques pour la gestion des ressources PHP

Une gestion efficace des ressources PHP est cruciale pour maintenir les performances et la stabilité de votre site WordPress.

Voici quelques bonnes pratiques pour optimiser l’utilisation de la mémoire et des workers PHP :

  1. Mise en cache efficace – L’implémentation de mécanismes de mise en cache robustes peut réduire de manière significative la charge sur les workers PHP. En servant du contenu en cache aux visiteurs, vous minimisez le nombre de requêtes qui doivent être traitées par les workers PHP, ce qui les libère pour des tâches plus dynamiques.
  2. Optimisez le code et les requêtes – Assurez-vous que votre code PHP et vos requêtes de base de données sont bien optimisés. Une exécution efficace du code et des interactions simplifiées avec la base de données réduisent le temps de traitement, ce qui permet aux workers PHP de traiter plus de requêtes en moins de temps.
  3. Mettez à jour les versions de PHP – Mettez régulièrement à jour les dernières versions de PHP, qui incluent souvent des améliorations de performance et de sécurité. Les nouvelles versions de PHP sont généralement plus rapides et plus efficaces.
  4. Surveillez l’utilisation des ressources – Utilisez des outils comme APM ou Query Monitor de Kinsta pour évaluer l’utilisation des ressources. La surveillance permet d’identifier les goulots d’étranglement et les inefficacités en temps réel, ce qui vous permet de prendre des mesures correctives rapidement.

Résumé

La gestion efficace des ressources PHP est cruciale pour la performance et la stabilité des sites WordPress hébergés sur Kinsta. Cet article a exploré les limites de mémoire de PHP et les workers PHP, leurs rôles, et comment optimiser leur utilisation.

Pour des recommandations personnalisées ou pour augmenter votre limite de mémoire PHP ou vos workers PHP, veuillez ouvrir un nouveau ticket ou envoyer un e-mail à [email protected].

Joel Olawanle Kinsta

Joel is a Frontend developer working at Kinsta as a Technical Editor. He is a passionate teacher with love for open source and has written over 200 technical articles majorly around JavaScript and it's frameworks.