18 août 2022

Zend OPcache : accélérer WordPress et PHP

(Dernière mise à jour le: 29 mai 2022)

Ce tutoriel va vous montrer comment activer Zend OPcache pour que les requêtes PHP soient plus rapides.

Dans un tutoriel précédent, j’ai expliqué comment accélérer WordPress en activant la mise en cache du proxy Apache afin que les pages soient mises en cache, nécessitant moins de requêtes de base de données PHP et MySQL.

Ce tutoriel vous montrera comment augmenter les performances lorsque le cache n’est pas utilisé en accélérant les requêtes PHP avec la fonctionnalité Zend OPcache.

introduction

Zend OPcache améliore les performances de PHP en stockant le bytecode de script précompilé dans la mémoire partagée, éliminant ainsi le besoin pour PHP de charger et d’analyser les scripts à chaque requête.

Ce tutoriel vous montrera comment installer et configurer Zend OPcache pour PHP-FPM (PHP 7) avec NGINX.

Dans ce message

  • Étape 1 : Installez PHP-FPM Zend OPCache.
  • Étape 2 : Configurez Zend OPCache.
  • Étape 3 : Tester que Zend OPCache est activé.

Étape 1 : Installer PHP-FPM Zend OPcache

Si vous n’avez pas encore installé PHP 7, vous pouvez apprendre comment en suivant les tutoriels précédents sur  la configuration d’un environnement d’hébergement WordPress.

Avec PHP installé, vous pouvez maintenant exécuter la commande suivante pour installer l’extension Zend OPcache :

sudo apt-get install php7.0-opcache

L’extension Zend OPcache devrait maintenant être installée et prête à être configurée.

Étape 2 : Configurer Zend OPcache

Ouvrez le fichier :  /etc/php/7.0/fpm/php.iniavec votre éditeur de texte préféré.

sudo vim /etc/php/7.0/fpm/php.ini

Apportez les modifications suivantes aux directives situées près du bas du fichier dans la section opcache.

opcache.enable=1
opcache.validate_timestamps=1
opcache.revalidate_freq=60
opcache.max_accelerated_files=10000
opcache.memory_consumption=64
opcache.interned_strings_buffer=8
opcache.fast_shutdown=1

Enregistrez le fichier, puis exécutez la commande suivante pour appliquer les modifications.

sudo /etc/init.d/php7.0-fpm restart

L’extension Zend OPcache devrait maintenant être configurée et mettre en cache les scripts PHP hébergés par vos sites Web. Nous pouvons vérifier qu’il est activé en exécutant un script PHP personnalisé. Nous le ferons à l’ étape 3 , mais voyons d’abord ce que signifient les directives.

opcache.enable=1

Définir cette directive sur 1 activera Zend OPcache. Lorsqu’il est défini sur 0, il désactivera le cache.

opcache.validate_timestamps=1

Définir cette directive sur 1 obligera PHP à vérifier les horodatages de chaque fichier pour voir s’il a été modifié et, si c’est le cas, il mettra à jour le cache de ce fichier. Lorsqu’il est défini sur 0, il ne mettra pas à jour le cache de chaque fichier et vous devrez redémarrer PHP chaque fois que vous modifierez un fichier.

opcache.revalidate_freq=60

Fréquence (en secondes) de vérification des horodatages des fichiers pour les modifications apportées à l’allocation de stockage de la mémoire partagée. (“1” signifie valider une fois par seconde, mais une seule fois par requête. “0” signifie toujours valider).

opcache.max_accelerated_files=10000

Le nombre maximum de scripts pouvant être stockés dans le cache. Seuls les nombres entre 200 et 1000000 sont autorisés. Cela devrait être supérieur au nombre de scripts que vous avez dans vos répertoires d’hébergement.

opcache.memory_consumption=64

Définissez cette directive sur la quantité maximale de mémoire en Mo que le cache doit utiliser. Vous pourrez voir combien est utilisé en utilisant le script statique à l’ étape 3 , mais pour une installation WordPress avec des modules minimum, 64 Mo devraient être suffisants.

opcache.interned_strings_buffer=8

PHP utilise une technique appelée string interning qui réduit la mémoire et améliore les performances en stockant les chaînes en double dans le code dans une seule variable. Définissez cette directive sur 8 Mo et vérifiez les statistiques à l’ étape 3 pour voir de combien vous devez l’augmenter.

opcache.fast_shutdown=1

Si elle est activée, une séquence d’arrêt rapide est utilisée pour le code accéléré. Selon le gestionnaire de mémoire utilisé, cela peut entraîner des incompatibilités. Réglez-le sur 0 si vous rencontrez des problèmes.

Étape 3 : Tester que Zend OPCache est activé

Nous pouvons tester pour voir si OPCache est activé en créant un fichier PHP et en utilisant la  opcache_get_statusfonction. Cette fonction vous montre beaucoup d’informations utiles comme les scripts qui ont été mis en cache et la quantité de mémoire utilisée, etc.

Pour gagner du temps, il existe un projet open source appelé  opcache-gui qui affiche toutes les statistiques sur une page bien formatée. Le code est contenu dans un seul fichier index.php. Pour commencer, exécutez la commande suivante pour télécharger le fichier dans votre répertoire racine www.

sudo curl -o /var/www/opcache.php https://raw.githubusercontent.com/amnuts/opcache-gui/master/index.php

En supposant que la racine de votre document Web se trouve dans /var/www le fichier qui y sera téléchargé avec le nom opcache.php

Accédez au fichier à l’aide d’un navigateur Web et vous devriez voir la sortie suivante.

 OPCache

Comme vous pouvez le voir sur l’image ci-dessus, l’opcache est activé car la directive enable est définie sur true et vous pouvez voir que 57 % de la mémoire configurée est utilisée. Vous pouvez utiliser cet écran pour ajuster les paramètres à l’ étape 2 . Vous pouvez également réinitialiser le cache à partir de cette page ou vous pouvez regarder quels scripts sont mis en cache et réinitialiser chacun individuellement.

Conclusion

Dans ce tutoriel, vous avez appris à augmenter les performances de WordPress ou de toute autre application PHP en installant et en activant l’extension Zend OPcache. L’activation de cette fonctionnalité, ainsi que  la mise en cache du proxy Apache , augmenteront considérablement la vitesse de votre site WordPress.

1 Star (1 votes, average: 5,00 out of 5)
Loading...

Laisser un commentaire

Translate »