Bien plus qu'un hébergeur !

Comment configurer OPCache pour accélérer un site (WordPress) et diminuer sa consommation grâce au Cache PHP ?

Saviez-vous qu’il existe au moins 3 Systèmes de Cache ? Et le Cache PHP est bien sûr, l’un des plus importants !

Ne pas utiliser de système de cache, c’est comme si vous écriviez chaque « Copie » d’un « Journal papier », à la main ! Ou comme si vous laissiez « Couler le Robinet » pendant toute la journée… c’est Moins Efficace et c’est du Gaspillage de Ressources !

Un ou plusieurs « Systèmes de Cache » sont indispensables pour éviter à votre processeur de Regénérer les mêmes Pages, encore et encore, à chaque fois qu’elles sont visitées par un utilisateur.

Quels sont les différents « Systèmes de Cache » pouvant être cumulés ?

Par exemple, pour un Site WordPress, le système de cache le plus important à activer est…

  1. Le Cache Fichiers

Cela peut être mis en place grâce à des plugins tels que WP Rocket ou WP Super Cache.

Ensuite, pour des questions de Performance et d’économie de Ressources, il est presque indispensable d’activer…

  1. Le Cache du Code PHP

Par défaut, celui-ci est actif chez EasyHoster, grâce à OPCache, et ce billet va vous permettre d’Optimiser votre Cache PHP en fonction de vos besoins : plus de Performances, ou plus de Confort pendant le Développement du site ?

Enfin, pour aller plus loin, il est possible d’envisager la mise en place de…

  1. L’Object Cache

Pour les sites les plus exigeants et exécutant un grand nombre de Requêtes MySQL, il peut effectivement être bénéfique d’installer le Cache Objet.

Pour un Site WordPress, cela peut être réalisé sur simple demande au Support EasyHoster, par le biais d’une configuration sur mesure de Redis (selon nous, le meilleur Object Cache pour WordPress).

Autre exemple, pour les Utilisateurs de Prestashop, l’Object Cache peut être activé via Memcached, même si pour Prestashop, nous recommandons plutôt de vous orienter vers APC, l’équivalent d’OPCache pour Prestashop (il n’est malheureusement pas possible de combiner APC et Memcached sur Prestashop),

Comme vous pouvez le constater, EasyHoster n’hésite pas à s’impliquer dans le processus d’Optimisation de la Consommation de votre Site Web, dans la mesure du possible bien sûr.

Ces 3 systèmes de cache complémentaires ne doivent pas être confondus avec les optimisations JS/CSS :
Puisque de nombreux plugins « tout-en-un » comme WP Rocket offrent à la fois un système de cache ET des optimisations JS/CSS (minification, asynchrone…), il est normal de s’y perdre un peu. Pour améliorer le score PageSpeed d’un site, les optimisations automatiques du JavaScript et du CSS sont bien sûr indispensables en complément d’un ou plusieurs systèmes de cache.

Vous devez probablement penser que Google PageSpeed en demande “beaucoup” aux webmasters… ?

Et vous avez raison ! C’est actuellement l’effort à fournir pour être parfaitement adapté à la navigation sur mobile avec connexion bas débit. Rien n’est obligatoire, mais il ne faut pas perdre de vue que des concurrents sont peut-être en train de passer du temps à optimiser leur score PageSpeed, pour plaire à Google.

Le Cache du code PHP grâce à OPCache, qu’est-ce que c’est ?

Inutile de chercher à vous faire la surprise… vous l’avez compris. Pour mettre en cache le code de vos Scripts PHP et CMS, EasyHoster a fait le choix d’OPCache.

Extension PHP

OPCache est un « Accélérateur PHP » sous forme d’Extension. Il présente donc l’avantage de ne pas nécessiter de « Nouvelle Technologie Serveur » pour pouvoir fonctionner et vous faire bénéficier de ses importants avantages.

Open Source

L’un des autres avantages d’OPCache est d’être « Open Source », donc plus libre, universel et gratuit, contrairement à d’autres “serveurs de cache” fonctionnant sur le même principe, mais facturant des frais de licences mensuels aux utilisateurs.

Standard et accessible

OPCache fonctionne donc nativement sur votre Serveur PHP (Apache) standard. Cela en fait également une solution simple à configurer de manière Autonome ou grâce à l’Aide du Support.

Un indispensable pour les performances et les ressources

Comme tous les Accélérateurs de Code, OPCache stocke en mémoire les fichiers source qui sont exécutés Fréquemment ou ayant été exécutés Récemment, afin qu’ils n’aient pas besoin d’être (re)compilés par le serveur, à chaque fois qu’ils sont appelés.

Cette Extension PHP permet à EasyHoster d’offrir un « boost de Mémoire RAM Commune » à tous ses utilisateurs. Une « Mémoire Vive » dans laquelle sont mis en cache les Scripts PHP (plugins WordPress, etc), récemment utilisés, pour pouvoir les servir plus rapidement.

À quelle performance s’attendre avec OPCache ?

Pour vos Performances, OPCache a plusieurs avantages :

  1. OPCache vous permet de consommer Moins de ressources serveur. Cela signifie que grâce au Cache PHP, votre site Web pourrait recevoir un trafic plus important, sans affecter le temps de chargement des pages et sans devoir passer à un plan d’hébergement supérieur
  2. OPCache améliore les Performances de vos scripts, en réduisant le nombre de Lectures sur le disque. Le résultat est une diminution du temps de réponse (TTFB) de vos pages et de vos scripts
  3. OPCache améliore votre Productivité, en accélérant la vitesse de l’interface d’administration de votre CMS favori (WordPress, Prestashop ou autre). En effet, une « Interface d’Administration » lente peut vous faire perdre de précieuses heures de travail, chaque semaine !

OPCache permet d’économiser les ressources de votre compte d’hébergement

Sur la capture d’écran ci-dessous, voyez comment se comporte un serveur EasyHoster, avant et après l’activation d’OPCache (voir cadres noirs sur la droite des graphiques).

Impact d'OPCache sur le Consommation d'un Serveur d'Hébergement cPanel
Dans les cadres noirs situés sur la droite de chaque graphique, vous pouvez observer la baisse de consommation obtenue suite à l’activation d’OPCache.

Comme vous pouvez le voir, la différence est flagrante sur les CPU Système, le Trafic Réseau et les Lectures/Écritures sur le Disque. Ce qui représente d’importantes économies, en termes de force de calcul, puisque le code source est mis en cache au cœur de la Mémoire RAM du serveur. Des économies qui peuvent être utilisées pour servir plus de visiteurs, plus rapidement.

En effet, si nous avons choisi de vous présenter, en premier lieu, l’Économie de Ressources potentielle pouvant être réalisée grâce à OPCache, c’est bien parce que c’est là où il est le plus fort !

En cas de très forte Hausse de Trafic, OPCache pourrait vous permettre d’accueillir entre 2 et 20 fois plus de visiteurs, sur le même plan d’Hébergement Web, par rapport à un site n’étant pas muni d’un tel système de cache.

Quid de la vitesse de chargement des pages avec OPCache ?

Ci-dessus, nous évoquions l’économie de ressources potentielle pour votre compte d’Hébergement Web, mais qu’en est-il des Performances à espérer, notamment pour le Temps de réponse d’un site Web ?

Pour cela, commençons par analyser un Benchmark qui nous vient de Hayden James, un Sysadmin Caribéen.

Comparaison des performances d'un serveur PHP avec et sans OPCache activé
Source : haydenjames.io

Comme le montre le Benchmark de James (lignes verte et mauve), pour un simple Script PHP hébergé sur un VPS, avec une bonne configuration d’OPCache, le « Temps de Réponse » du script a presque été réduit à zéro.

OPCache est une véritable opportunité d’améliorer son score PageSpeed

Pour être honnête (car nous sommes toujours honnêtes), votre Hébergement Web ne participe que « partiellement » à votre score Google PageSpeed, dès lors que votre site est hébergé sur un hébergement correct.

Par exemple chez EasyHoster, en tant qu’Hébergeur Web, ~ 99% des optimisations pouvant être réalisées l’ont été en amont, en préconfigurant votre compte d’Hébergement cPanel. C’est d’ailleurs ce que nous avons fait en activant et en préconfigurant OPCache, sur tous les comptes d’Hébergement Web nouvellement créés sur notre infrastructure.

D’après nos propres tests sur des sites WordPress exigeants appartenant à nos utilisateurs, le Gain Avant/Après l’Activation d’OPCache était de l’ordre de  10% à 20% , réduisant notamment le Temps de Réponse, ce qui a pu permettre à certains utilisateurs de passer sous la barre des 2,5 secondes de LCP sur PageSpeed Mobile (rare pour les sites un peu complexes).

Ci-dessous, voici une capture d’écran d’un Blog hébergé sur EasyHoster, qui malgré toutes les Optimisations WordPress possibles (sur le thème et dans le code), n’arrivait pas à passer sous les 2,5 secondes de LCP sur mobile.

Ce qui a enfin été possible, grâce à l’activation et la configuration du Cache PHP via OPCache, comme vous pouvez le voir ci-dessous.

PageSpeed Mister-WP.com EasyHoster
La capture d’écran ci-dessus montre que « l’Activation d’OPCache » a pu nous permettre d’obtenir les quelques points manquants pour être 100% optimisé mobile pour ce site sur PageSpeed. Voir le LCP (Largest Content Paint) de 2,3s

Comment activer ou désactiver OPCache ?

OPCache est d’ores et déjà  activé  et  pré-configuré   par défaut, sur tous les serveurs EasyHoster.

Cependant, dans le cas de figure rare (1 site sur 500 en moyenne) où votre CMS ou l’un de vos plugins ne serait pas compatible avec le Cache PHP, vous pourriez souhaiter Désactiver OPCache.

Comme pour toutes les autres Extensions PHP de votre Hébergement EasyHoster, il vous est possible « d’Activer ou de Désactiver OPCache », confortablement, depuis votre Interface cPanel EasyHoster.

Pour cela, rendez-vous dans cPanel > PHP Selector (Sélectionner une version de PHP), pour retrouver une interface similaire à celle de la capture ci-dessous.

Activer ou Désactiver OPCache sur Hébergement cPanel
OPCache peut être Activé ou Désactivé, en cochant ou décochant une case, directement depuis le PHP Selector de votre compte cPanel. La Position 2 sera commentée plus bas.

En effet, sous l’onglet Extensions du PHP Selector, vous retrouverez une série de cases vous permettent d’activer ou de désactiver, sur demande, vos Extensions PHP.

D’un simple clic, il vous est possible de désactiver ou d’activer l’extension de Cache PHP.

Par exemple, il peut parfois être nécessaire de désactiver OPCache en faveur de Memcached ou d’APC sur Prestashop.

Comment configurer OPCache : plus de Performances en live ou de Confort lors du développement ?

Sur la capture ci-dessous, en Position 2, est entouré le menu de navigation présentant l’Onglet « Options » du PHP Selector.

Activer ou Désactiver OPCache sur Hébergement cPanel
Rendez-vous dans l’Onglet « Options » du PHP Selector pour configurer les valeurs de vos Paramètres PHP (équivalent php.ini via une interface graphique).

Un fois cliqué, l’Onglet Options du PHP Selector vous présente une longue liste de Paramètres PHP, pouvant être modifiés via une l’Interface graphique de cPanel, comme vous pourriez le faire grâce à du code, dans un Fichier PHP.ini, mais en plus simple.

Configuration PHP.ini pour OPCache sur Hébergement cPanel
Ci-dessus, les Paramètres PHP d’OPCache ont été encadrés en orange.

Mais quelles valeurs attribuer aux Paramètres PHP d’OPCache ?

Dans le point précédent, nous avons vu le cas de figure où vous souhaiteriez « Désactiver complètement OPCache », car « non compatible » avec votre CMS. Voyons maintenant les 2 cas de figure où vous pourriez vouloir Modifier la Configuration par défaut du Cache PHP (préconfigurée par EasyHoster).

  1. Vous souhaitez (encore) plus de Performances grâce au Cache PHP
  2. Vous souhaitez plus de Confort pendant le Développement du site

1. Vous souhaitez (encore) plus de Performances grâce au Cache PHP

Comme nous l’avons vu plus haut, pour un Site Live (en production), OPCache fait partie des  indispensables  afin de bénéficier des Meilleures Performances.

L’OPCache EasyHoster est déjà préconfiguré, par défaut, pour offrir de « Bonnes Performances » à la plupart des sites en Production.

Par défaut, la durée du Cache PHP EasyHoster est configurée sur « 15 secondes », ce qui offre de bonnes Performances aux sites Web et un bon Confort aux développeurs.

Sachez cependant qu’il est possible de « pousser le curseur un peu plus haut », en demandant à OPCache de « Cacher votre PHP », un peu plus longtemps. D’ailleurs, dans le point suivant, nous verrons que l’inverse est possible aussi.

Sur la capture d’écran ci-dessous, vous pouvez observer l’interface de gestion « PHP Selector » présente dans votre cPanel EasyHoster. Nous vous en disons plus ci-dessous…

Configurer OPCache : durée de vie du cache et File Cache (Cache Fichiers) sur Hébergement cPanel
En choisissant l’une des valeurs encadrées en vert, pour opcache.revalidate_freq, vous offrez de meilleures performances à votre site.

Au travers de l’interface ci-dessus, « Options PHP », il vous est possible d’allonger le délai de Cache PHP de 15 secondes, jusqu’à  360 secondes  pour les sites en Production sur lesquels vous n’êtes pas en train de “Modifier du code”.

Attention, si vous allongez la « Durée de vie du Cache PHP » de votre Compte cPanel, il vous sera nécessaire de « Garder ce Délai à l’esprit » !
Concrètement, si dans plusieurs semaines, vous êtes par exemple amené à modifier manuellement certains de vos Fichiers PHP (par exemple, sur WordPress, les fichiers populaires : wp-config.php ou functions.php), il peut s’écouler jusqu’à 360 secondes (6 minutes), avant la prise en compte de vos modifications. Ce qui peut s’avérer frustrant, voir agaçant si vous avez « oublié » que vous aviez configuré une telle « Durée de vie » à votre Cache PHP.

OPCache dispose d’une fonctionnalité de Cache Fichiers (File Cache)

Le « Cache Fichiers », c’est le système utilisé par vos plugins de performances favoris, tels que WP Rocket ou WP Super Cache.

Pour un site créé avec un CMS complexe tel que WordPress ou Prestashop, un système de cache par fichiers fait partie des  indispensables  pour mieux gérer ses Ressources et bénéficier de Bonnes Performances, en particulier si vous accueillez de nombreux Visiteurs Simultanés.

Cependant, n’allez pas croire que le File Cache d’OPCache va remplacer un système de cache HTML comme celui de WP Super Cache. Le File Cache d’OPCache est destiné à mémoriser le code PHP de vos scripts et non l’ensemble des contenus de toutes vos pages.

Optimisation avancée d’OPCache : configuration du File Cache du Code PHP

Dans le cas où vous auriez de Hautes Exigences en termes de Ressources, sachez qu’il vous est possible de configurer la fonctionnalité « File Cache » d’OPCache via votre cPanel EasyHoster.

Cette fonctionnalité avancée vous permet de définir un « Chemin d’accès » vers un répertoire de cache physique, qui prendra le relai dans le (rare) cas où la Mémoire OPCache commune du serveur serait trop occupée (ou remplie).

De quoi mettre toutes les chances de votre côté, pour éviter une éventuelle surcharge en cas de Pic de Trafic.

Pour configurer le File Cache d’OPCache, dans le paramètre opcache.file_cache de votre interface, renseignez un chemin d’accès valide à votre répertoire temporaire de cache, à savoir  /home/$USER/tmp/opache/ (attention à remplacer $USER par votre Nom d’utilisateur cPanel/SSH (voir Email de Bienvenue EasyHoster ou Guide de l’Hébergement EasyHoster).

En cas de doute, veuillez contacter le Support EasyHoster.

Configurer OPCache : durée de vie du cache et File Cache (Cache Fichiers) sur Hébergement cPanel
opcache.file_cache : /home/$USER/tmp/opcache/
Lorsque celui-ci est bien configuré, OPCache vous offre la possibilité d’utiliser son système de Cache Fichiers, pour mettre en Cache votre Code PHP, lorsque trop de mémoire est occupée par votre site (ce qui reste rare, mais peut arriver).

Comme vous pouvez le voir sur l’illustration ci-dessus, le File Cache peut être mis en œuvre grâce au paramètre opcache.file_cache. Pour ce faire, copiez la valeur /home/$USER/tmp/opcache/ (où remplacer $USER par votre Username, Nom d’utilisateur cPanel/SSH). Ensuite, renseignez cette valeur dans vos paramètres cPanel > PHP Selector > Options.

2. Vous souhaitez plus de Confort pendant le Développement du site

La seconde manière de Configurer OPCache concerne le confort pendant le Développement Web. C’est-à-dire, pendant la Création ou la Maintenance du site.

Par hasard, auriez-vous récemment modifié manuellement l’un de vos fichiers PHP et/ou effectué des opérations sur les plugins de votre site WordPress ?
Dans ce cas, il est possible que vous ayez expérimenté un « délai d’attente gênant » avant la prise en compte de vos changements. Ce délai provient de votre Configuration OPCache, réglée pour privilégier les Performances (en Production) plutôt que le Confort de développement

Les paramètres par défaut du OPCache EasyHoster

Comme nous l’avons vu ci-dessus ↑ pour offrir de bonnes performances à l’ensemble de nos utilisateurs, l’OPCache EasyHoster est configuré, par défaut, sur 15 secondes de délai avant suppression du code en cache. Ce qui convient à plus de 90% de nos utilisateurs pouvant profiter de bonnes performances, sans jamais s’être soucié de ce paramètre.

Bien sûr, cette Configuration peut être Modifiée en toute Autonomie depuis votre interface cPanel, pour s’adapter aux tâches que vous êtes en train de réaliser actuellement sur votre site Internet. Par exemple, Modifier votre Code Source ou Faire la Maintenance de vos Plugins.

Comment configurer OPCache pour le Développement ou la Maintenance Web ?

Concrètement, imaginons que votre site est en cours de Développement ou de Maintenance. Vous pourriez Configurer le Cache PHP pour être Purgé Automatiquement toutes les 1 ou 5 secondes, ce qui vous permettrait de continuer à bénéficier des Avantages d’OPCache (admin plus rapide, réduction des ressources en production…), tout en étant « peu gêné » par le délai de prise en compte du nouveau Code Source.

Configurer OPCache : durée de vie du cache et File Cache (Cache Fichiers) sur Hébergement cPanel
Dans l’encadré rouge, les valeurs pour opcache.revalidate_freq (durée de vie du Cache OPCode) permettent de bénéficier d’un bon Confort en cours de Développement, tout en conservant de Bonnes Performances sur la partie Live du site.

Autre option plus radicale en cours de Développement,
Comme vu plus haut, il vous est possible de Désactiver Complètement OPCache, par exemple, pour vérifier un problème de Compatibilité de ce système avec vos Scripts PHP ou vos Plugins CMS Spécifiques.

Activer ou Désactiver OPCache sur Hébergement cPanel
Désactiver OPCache est aussi simple qu’une case à cocher, ou décocher.

Comment vérifier qu’OPCache est actif et qu’il améliore les performances ?

La première chose à faire pour vous assurer que  OPCache est actif  sur votre compte d’Hébergement Web, est d’installer ce qu’on appelle un  Fichier PHP « phpinfo » ! 

Logo PHP Comment créer un fichier phpinfo dans votre compte cPanel ?

Une fois connecté à votre URL (https://example.com/phpinfo.php), voici un aperçu de ce que vous devriez voir, si OPCache est actif et si tout s’est bien passé.

PHPInfo, OPCache.
Ci-dessus, un aperçu du Rapport PHP Info que vous trouverez en visitant votre URL : example.com/phpinfo123.php

En plus de vous permettre de Vérifier qu’OPCache est bien activé sur votre compte cPanel, vous pouvez également contrôler les Paramètres spécifiques renseignés via le PHP Selector (php.ini)

Sur la capture d’écran ci-dessus ↑ ont été entourés quelques paramètres qui méritent votre attention.

Paramètres php.ini à (re)configurer dans OPCache (si nécessaire)

Ci-dessous, nous vous partageons une brève description de tous les Paramètres OPCache configurables depuis votre interface PHP Selector. Autrement dit, celles-ci peuvent être configurées, sans modification de votre fichier .htaccess ni création d’un fichier php.ini.

opcache.enable_file_override

Activé pour de meilleures performances. Vous ne devriez désactiver cette option que si opcache.validate_timestamps est désactivé ET si vous pensez que la mise en cache est trop longue pour les Scripts PHP utilisant les fonctions file_exists(), is_file() et is_readable().

opcache.file_cache

Permet d’activer un Répertoire de cache de Second niveau, pour améliorer les performances en cas de surcharge de la Mémoire RAM. Voici un exemple de chemin d’accès au dossier cache : /home/$USER/tmp/opcache/(à adapter en remplaçant $USER par votre Username cPanel/SSH). La valeur par défaut de opcache.file_cache est “vide”, ce qui désactive la mise en cache basée sur les fichiers (comportement par défaut).

opcache.jit_buffer_size

JIT est réservé aux utilisateurs de PHP 8+.

opcache.jit_buffer_size est la quantité de Mémoire RAM maximum allouée au code Précompilé par JIT.

Une valeur nulle (0) désactive complètement JIT (comportement par défaut).

Pour tirer avantage des performances offertes par le Just-In-Time Compileur de PHP 8, la valeur recommandée est « environ 10% de la Mémoire RAM de votre plan d’hébergement ». Par exemple, pour une offre Pro+ disposant de 4 Go RAM, définissez un maximum de 512 Mo alloué à JIT, ou 256 Mo de RAM pour laisser plus de mémoire aux autres processus : MySQL, GZip, etc.

opcache.revalidate_freq

Il s’agit de la fréquence (en secondes) à laquelle OPCache va vérifier s’il y a des modifications apportées à un fichier PHP. Par exemple, à des fins de développement, utilisez “5” ou “1” pour des mises à jour rapides du code. Pour un Site WordPress Live (en production), vous pouvez allonger la durée du Cache PHP jusqu’à « 360 secondes » pour d’encore meilleures performances. Conseil : installez le plugin WP Opcache pour manuellement vider le Cache PHP lorsque c’est nécessaire (modification de fichier PHP, installation/suppression de plugins…).

opcache.save_comments

Activé pour de meilleures performances. OPCache supprime les commentaires PHP inutiles pour alléger le code PHP mis en cache.

Avertissement pour les Utilisateurs de Prestashop :
sur certaines version de célèbre CMS eCommerce français, si vous voyez des erreurs apparaître dans votre interface d’administration Prestashop ou si vous ne pouvez vous connecter à celle-ci, il peut être nécessaire d’activer l’option opcache.save_comments.
opcache.validate_timestamps

Lorsque opcache.validate_timestamps est désactivé (0), les fichiers PHP ne sont pas périodiquement Purgés par OPCache. Vous devrez donc réinitialiser le Cache PHP (par exemple, le vider manuellement avec un plugin WordPress comme WP OPCache), pour toutes les modifications apportées au code source !

Lorsqu’elle est activée (1), l’option opcache.validate_timestamps demande à OPCache d’automatiquement effacer le Cache PHP, toutes les 15 secondes, ou toutes les opcache.revalidate_freq secondes, si vous avez modifié ce paramètre.

Comment monitorer OPCache comme un expert avec une application Github

Il existe de nombreuses Extensions PHP qui vous permettent de Gérer OPCache via une interface graphique.

Deux des extensions les plus populaires dans ce but sont OpCacheGUI et opcache-gui (il n’y a pas d’erreur, les 2 extensions portent le même nom, mais écrit différemment).

Celles-ci peuvent toutes les deux être téléchargées gratuitement sur Github, puis être téléversées dans un répertoire de votre compte d’Hébergement Web.

1. OpCacheGUI (alternative design)

Cette solution nécessite quelques manipulations techniques pour pouvoir être installée. Voyez la seconde option pour plus de facilité, si vous souhaitez réaliser une vérification rapide de l’utilisation de OPCache (et du JIT Compiler PHP 8 en complément).

Configuration de base et mot de passe

OpCacheGUI doit être configuré avant d’être activé, en éditant et en renommant le fichier config.sample.php en config.php. Le mot de passe doit être un Hash Password (principe du MD5 généré avec un Password Hash Generator).

Par mesure de Sécurité, installez toujours vos Scripts Github dans des répertoires dont l’adresse/le chemin est difficile à deviner, en veillant également à protéger ceux-ci via fichiers htpasswd + htaccess.

Installation dans un sous-répertoire

Il est probable que vous souhaitiez utiliser ce script dans un sous répertoire de votre site. Par exemple : example.com/opcache-secret-123/index.php

Pour pouvoir exécuter le projet dans un sous-répertoire d’un site existant, la configuration doit être modifiée pour utiliser des URLs Query String (paramètres dans les URLs, sans URL Rewriting).

'uri_scheme' => Router::QUERY_STRING

Renseigner son IP administrateur

Enfin, si vous disposez d’une IP fixe à votre bureau/domicile, vous devez l’ajouter dans la whitelist de OPCacheGUI. Sinon, il vous est possible d’autoriser momentanément toutes les IPs à gérer OPCache grâce au paramètre joker et ce code :

'whitelist' => [
'*',
]

Extension PHP OPCacheGui

Cette première option peut vous intéresser, par exemple, si vous êtes un prestataire et que vous souhaitez mettre en place une interface sécurisée et séduisante graphiquement, pour vos clients.

Pour les techniciens, il existe une solution actuellement mieux maintenue : opcache-gui !

2. opcache-gui (recommandé)

Dashboard for opcache-gui PHP extension

OpCacheGUI est souvent cité comme la meilleure solution pour gérer OPCache. Mais depuis que PHP 8 a déployé le JIT Compiler, la donne a changé.

D’après nos tests les plus récents, il est préférable d’utiliser l’Extension « opcache-gui » qui est certes, moins séduisante « graphiquement », mais qui présente 3 avantages :

  1. opcache-gui est régulièrement mis à jour
  2. le script présente les données de JIT PHP8
  3. il est facile à installer pour une vérification rapide

Pour l’installer l’Extension PHP Github, il suffit d’envoyer le script sur le serveur et de visiter l’URL correspondante (aucun password requis). Par mesure de sécurité, il sera donc nécessaire de supprimer ou d’archiver le script opcache-gui-master après usage, ou le sécuriser via htaccess + htpasswd.

Vous pouvez donc utiliser opcache-gui ou OpCacheGUI (ou les deux) pour contrôler et gérer facilement votre Cache OPCode.

Comment vérifier qu’OPCache est actif avec un plugin WordPress ?

Le plugin gratuit Query Monitor, vous donne une série d’informations sur la technologie de serveur utilisée par votre site WordPress.

Il vous indiquera notamment si vous utilisez OPCache et/ou Redis Cache, et si leur configuration présentent des problèmes évidents.

Mais ce n’est pas tout, car il existe un autre plugin gratuit, qui est excellent en tout point pour la surveillance et la gestion d’OPCache, sur votre site WordPress.

Il s’agit du plugin « WP OPCache ».

Installer le plugin gratuit WP OPCache
Le plugin gratuit WP OPCache peut être installé librement depuis votre Tableau de bord WordPress, comme n’importe quelle autre extension open source.

Comme vous le voyez sur la capture d’écran ci-dessous, une fois installé, WP OPCache vous fournit la liste de toutes les informations serveur relatives à votre utilisation d’OPCache.

Consommation serveur WP OPCache
WP OPCache : la capture ci-dessus illustre la consommation serveur d’un site WordPress hébergé chez EasyHoster, et tout se passe bien.

Bien sûr, l’installation d’un plugin supplémentaire n’est pas obligatoire pour pouvoir profiter d’OPCache.

D’ailleurs, OPCache est probablement déjà actif sur votre Hébergement EasyHoster. Le Plugin WP OPCache sert uniquement à Surveiller et Vider votre cache en 1 clic.

Vous n’êtes pas sans savoir qu’il est conseillé d’éviter tous les plugins inutiles.

Cependant, installer WP OPCache pendant quelques jours pourrait vous permettre d’y voir plus clair sur le fonctionnement d’OPCache, tout en vous familiarisant avec les délais de prise en compte du Code PHP.

Enfin, lorsque vous serez passé maître dans l’art de purger OPCache, vous pourrez vous tourner vers les options recommandées « Sélection d’un Cache PHP court lors du Développement » et « Sélection d’un cache PHP long lorsque le site est en Production ».

Vider le Cache PHP (OPCache) grâce à un plugin WordPress

Un autre avantage du plugin WP OPCache est de vous permettre de purger votre Cache PHP, depuis un simple bouton dans votre interface WordPress et/ou à chaque modification réalisée sur votre site.

Voyez ci-dessous à quel point il est simple de demander à WP OPCache de se charger de vider OPCache à chaque modification importante sur votre site. Il suffit pour cela de cocher la case « Purger automatiquement OPcache après une mise à niveau ».

Vider OPCache sur WordPress
WP OPCache vous offre plusieurs moyens de Vider le Cache PHP : automatiquement à chaque modification et/ou manuellement d’un clic depuis le Dashboard WordPress (voir le cadre bleu ci-dessus et le cadre jaune ci-dessous).
Purger le cache / Vider OPCache dans WordPress
Attention, si votre site Web reçoit de nombreux visiteurs simultanés et/ou si vous travaillez quotidiennement depuis votre Tableau de bord WordPress, il est déconseillé de cocher la case « Purger automatiquement OPcache après une mise à niveau ». Si le Cache PHP est vidé constamment, vous perdrez régulièrement la protection des ressources offerte par OPCache. Dans ce cas, privilégiez un délai de cache court de 5 à 15 secondes, plutôt que de planifier le vidage de cache de façon trop régulière.

Différences entre OPCache vs LiteSpeed vs Memcached vs Redis vs WP Rocket (ou plugin WordPress équivalent)

PHP OPCache rend votre site Web plus rapide en stockant le bytecode précompilé dans la mémoire partagée du serveur. Ainsi, lorsqu’un script PHP est exécuté, il n’a pas besoin de lire et de compiler à nouveau le code PHP. En outre, des modèles d’optimisation du bytecode sont appliqués pour rendre l’exécution du code PHP encore plus rapide.

  • OPCache est le cache PHP le plus rapide et le plus facile à utiliser. OPCache est activé et pré-configuré par défaut, sur tous les serveurs EasyHoster.
  • LiteSpeed, quant à lui, n’a pas pour objectif de remplacer Apache, mais se positionne plutôt comme une version améliorée d’un serveur Web Apache. La technologie sur laquelle il est basé provient de deux versions du serveur HTTP Apache 2.2 et 2.4, ce qui signifie que tout son code source est open source. Il est possible d’atteindre les mêmes performances que LiteSpeed en combinant, notamment, OPCache avec les 2 autres systèmes de cache abordé dans cet article, sans oublier le travail d’optimisation de votre site pour lequel notre support technique peut vous aider.
  • Memcached permet de stocker des données dans la mémoire vive, plutôt que sur le disque dur. Cette solution est idéale pour les applications qui nécessitent un accès rapide aux données.
  • Redis est un système de gestion de base de données clé-valeur polyvalent et performant, écrit en C ANSI et distribué sous licence BSD (open source). Il appartient au mouvement NoSQL et a comme mission de fournir les performances les plus élevées possible. Le principal avantage de Redis est qu’il conserve toutes les données en mémoire vive. Cela permet d’obtenir des performances rapides car on évite les accès aux disques.
  • WP Rocket (ou plugin WordPress équivalent) est un plugin premium pour WordPress qui offre une solution complète de cache et d’optimisation du chargement des pages.

OPCache n’est pas plus ou moins rapide que les autres systèmes cités précédemment : autres caches PHP (APC, LiteSpeed…), Object Cache (Redis, Memcached…) ou Cache Fichiers (WP Rocket, WP Super Cache…). Il offre soit des performances similaires, est équivalent et/ou peut être cumulé à ces autres types de cache (Cache Object et Fichiers).

Configuration de JIT avec OPCache

Nous préparons actuellement un second dossier complémentaire à celui sur OPCache.

Il s’agira d’un guide complet sur JIT, pour Just-In-Time Compiler, une nouvelle architecture plus performante, basée sur la précompilation du code utilisé et incluse dès PHP 8.0 !

Tout comme la logique d’OPCache permet d’améliorer les performances de vos applications, vous découvrirez que JIT et PHP 8 viennent aussi apporter leur lot de bonnes surprises.

Hébergement OPCache optimisé et support technique EasyHoster

Chez EasyHoster, nous travaillons de manière soutenue sur la surveillance et l’optimisation de nos solutions d’Hébergement Web, pour offrir à nos utilisateurs les meilleures performances !

De même, notre support se tient à disposition des développeurs, pour toute question liée à OPCache, leur Hébergement cPanel ou d’autres besoins liés à leur application Web.

Comme nous l’avons vu, le cache est un indispensable en production, et pas seulement pour les sites à fort trafic. Dans le cadre d’un plan d’hébergement mutualisé (c’est-à-dire, pour pouvoir se passer d’un serveur dédié), un site recevant une quantité significative de « requêtes simultanées » se doit d’activer le cache.

Sans lui, les performances du site seraient mauvaises, sans parler du gaspillage de ressources et de leur impact écologique.

En effet, au travers de cette lecture, vous avez pu comprendre qu’il était souvent inutile de recalculer les mêmes informations depuis zéro, alors qu’il est possible de les conserver dans la RAM, pour une utilisation plus rapide.

Pourquoi payer 10 ou 20 fois le prix d’un Hébergement mutualisé, pour un serveur dédié dont la gestion est complexe, et ce, uniquement pour pouvoir se passer de systèmes de cache ?

La barrière technique ?

Dans ce cas, sachez que tous les plans d’Hébergement EasyHoster bénéficient d’un Service d’Assistance disponible pour vous aider à configurer OPCache, ainsi que d’autres systèmes de cache.

Pour bénéficier de notre support pour l’optimisation des performances de votre site, il suffit d’ouvrir un ticket auprès de notre support technique.

Sommaire de ce billet
Besoin d'aide ?

Le site WordPress speed.easyhoster.net ➚ permet de tester le potentiel des solutions d'Hébergement Web EasyHoster.