Services techniques gérés partout au Canada
Fièrement canadien

Guide

Optimisation PHP pour l'hébergement web canadien : OPcache, PHP-FPM et paramètres de mémoire

La configuration PHP a plus d'impact sur les performances des applications web que la plupart des développeurs ne le réalisent. Ce guide couvre OPcache, les paramètres de pool PHP-FPM et les changements de configuration qui font la plus grande différence pour les applications PHP sur l'hébergement VPS canadien.

Processus éditorial : Cet article a été créé avec l’aide de l’intelligence artificielle et préparé pour publication par Gotekky.

Réponse rapide

À vérifier d’abord

La configuration PHP a plus d'impact sur les performances des applications web que la plupart des développeurs ne le réalisent. Ce guide couvre OPcache, les paramètres de pool PHP-FPM et les changements de configuration qui font la plus grande différence pour les applications PHP sur l'hébergement VPS canadien.

La configuration PHP est l'un des facteurs les plus impactants et les moins discutés dans la performance des applications web. Deux serveurs avec un matériel identique peuvent offrir des temps de réponse très différents uniquement en raison de la façon dont PHP est configuré. Sur un VPS canadien où vous contrôlez l'environnement serveur, les paramètres suivants peuvent réduire de moitié le temps de génération des pages pour des installations WordPress typiques.

OPcache : la plus grande amélioration de performance PHP

PHP est un langage interprété, ce qui signifie que chaque requête nécessite normalement que le serveur lise les fichiers source PHP, les analyse en bytecode et exécute ce bytecode. OPcache élimine cela en stockant le bytecode compilé en mémoire partagée après la première compilation. Les requêtes suivantes utilisent directement le bytecode mis en cache, ignorant complètement la lecture et l'analyse des fichiers.

opcache.enable=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60
opcache.save_comments=1

La valeur memory_consumption de 256 Mo réserve 256 Mo de mémoire partagée pour le bytecode mis en cache. Pour un site WordPress avec beaucoup de plugins, 128 Mo se remplit et vous commencez à voir des ratés OPcache. 256 Mo est confortable pour les sites avec 30 à 50 plugins actifs. Le paramètre max_accelerated_files doit être supérieur au nombre total de fichiers PHP dans votre application. Exécutez find /var/www/votresite -name "*.php" | wc -l pour obtenir le nombre réel.

Configuration du pool PHP-FPM pour les sites WordPress

PHP-FPM gère le traitement des requêtes PHP comme un service séparé du serveur web. La configuration du pool détermine combien de processus workers PHP fonctionnent simultanément. Pour calculer le bon nombre de workers statiques : déterminez la quantité de mémoire qu'un seul worker PHP-FPM utilise sous votre application. Pour WordPress, vérifiez la sortie de ps aux --sort=-%mem | grep php-fpm sur un serveur sous charge. Un worker WordPress typique utilise 50 à 120 Mo. Si votre VPS a 4 Go de RAM, laissez au moins 1,5 Go pour MySQL, le système d'exploitation et les autres processus.

Mise en cache des objets Redis pour WordPress sur VPS canadien

Le système de cache d'objets et de transitoires par défaut de WordPress stocke les données dans la base de données MySQL. Redis est un magasin clé-valeur en mémoire qui sert les données de cache plusieurs ordres de grandeur plus rapidement que MySQL. Installer Redis sur votre VPS et connecter WordPress via le plugin Redis Object Cache déplace toutes les opérations de cache vers des lookups en mémoire. Pour un site WooCommerce, cela élimine une fraction significative des requêtes répétées à la base de données sur les pages à fort trafic comme la page boutique et les pages de catégorie. Redis utilise environ 50 à 100 Mo de RAM pour l'empreinte de cache d'un site WordPress typique.

Gotekky

Besoin d’aide pour choisir la prochaine étape?

Décrivez ce que vous observez et le résultat recherché. Nous identifierons si un service géré, un projet défini ou une évaluation technique payante est la bonne prochaine étape.