WordPress fonctionne comme un système de gestion de contenu (CMS) Open Source, facilitant la gestion de contenu sans qu'il soit nécessaire d'acquérir la maîtrise d'un langage de script Web. Grâce à l'ajout simple de texte, d'images et de vidéos, il est possible de créer puis de publier un site Web ou un blog sur Internet. La base opérationnelle de WordPress réside dans PHP et une base de données MySQL.
Dans le processus de création d'un site Web propulsé par WordPress, l'incorporation de thèmes et de plugins est courante pour adapter les attributs du contenu et l'esthétique visuelle. Cela facilite l'augmentation progressive des fonctionnalités du site Web grâce à des composants supplémentaires, y compris des extensions tierces telles que le référencement et l'analyse. Les interdépendances de ces thèmes et plugins trouvent leur référentiel au sein d'une base de données MySQL qui sert d'hébergeur au contenu de la page Web.
En revanche, Redis constitue un référentiel de structures de données en mémoire open source, prêt à fonctionner comme un système de mise en cache. Ce logiciel fonctionne comme un service d'arrière-plan, facilitant la mise en cache et la conservation des données dans la mémoire du système. Par conséquent, ce stratagème contribue à augmenter les temps de réponse du serveur et la vitesse globale du site Web.
Le prochain guide pédagogique est conçu pour transmettre les connaissances requises pour l'établissement et la configuration du cache d'objets Redis au sein de votre site Web ou blog WordPress. Cependant, avant d’entrer dans les détails de la configuration, une exploration des mécanismes opérationnels de WordPress et de Redis, ainsi que de la justification de leur utilisation symbiotique, s’impose.
Créer des sites Web incroyables
Avec le meilleur constructeur de page Elementor
Commencer MaintenantComment fonctionne Redis
Prenons un scénario dans lequel une application Web est opérationnelle sur un serveur, utilisant une base de données telle que MySQL pour son fonctionnement. L'application Web nécessite la récupération d'enregistrements spécifiques de cette base de données. L'exécution de telles requêtes s'accompagne d'un retard notable dans la fourniture des documents demandés. Il convient de noter que des périodes d'attente prolongées, dépassant une minute, pour la récupération des données peuvent potentiellement conduire à une expérience utilisateur sous-optimale.
Il convient toutefois de noter que Redis propose une solution visant à améliorer la rapidité et l’efficacité de ces opérations de traitement de données. Grâce à l'utilisation de Redis, il est possible de stocker des données traitées via une requête de base de données MySQL dans une instance de cache Redis dédiée. Ce stockage stratégique permet la récupération directe des données de la mémoire du serveur, évitant ainsi la nécessité de parcourir tout le chemin jusqu'à la base de données.
La mécanique opérationnelle implique que le serveur Web s'interface avec Redis pour vérifier la disponibilité des données souhaitées. Par conséquent, dans les cas où une requête ultérieure reflète une transaction de requête antérieure, l'objet Redis, résidant dans le cache d'objets, intervient pour répondre à la requête, éliminant ainsi le besoin de s'engager à nouveau avec le serveur MySQL.
Dans les cas caractérisés par l'orchestration d'un large éventail de serveurs Web, typique d'une flotte à grande échelle comprenant de nombreuses unités, l'intégration d'un cache Redis unique peut regrouper avec compétence les requêtes et les réponses émanant de ces serveurs Web. Cette configuration dispense effectivement de l'obligation pour chaque serveur Web individuel d'entreprendre la trajectoire complète vers la base de données au cours de chaque instance d'opération.
Pourquoi intégrer Redis avec WordPress
L'activation de Redis Cache dans votre installation WordPress Core présente l'avantage d'accélérer la livraison du contenu aux clients. Étant donné l'utilisation intensive par WordPress des recherches de requêtes MySQL, la dégradation des performances devient apparente lors des instances à fort trafic.
Dans de telles circonstances, le cache Redis joue un rôle central, répondant efficacement à ce scénario. Fonctionnant comme une base de données de paires clé-valeur basée sur la mémoire, Redis conserve toutes les données correspondantes en mémoire, fournissant ainsi une solution de mise en cache rapide côté serveur adaptée à WordPress.
Nous mettrons en place un cache d'objets Redis, une mesure conçue pour affiner l'utilisation de la base de données WordPress. Ce cache d'objets Redis sert de référentiel pour les sorties mises en cache dérivées de requêtes spécifiques dirigées vers le serveur MySQL. Par conséquent, lorsque d'autres utilisateurs accèdent à des publications ou des articles identiques, le cache d'objets répond rapidement à leurs demandes, évitant ainsi d'avoir à interroger le serveur MySQL.
Ainsi, l’invocation récurrente de la base de données WordPress MySQL est atténuée via la mise en cache de requêtes complexes, facilitant la livraison des résultats mis en cache pour les requêtes similaires ultérieures. Cette stratégie évite un aller-retour supplémentaire vers le serveur MySQL, augmentant ainsi les temps de réponse du serveur et la vitesse globale du site.
Conditions préalables pour la tâche
Afin de suivre les instructions décrites dans ce guide, il est impératif de posséder un site WordPress opérationnel hébergé sur un serveur distant. La raison derrière cette nécessité vient du fait qu’il est impossible d’optimiser un site hébergé localement sur votre ordinateur personnel, étant donné la nature du rendu côté serveur de WordPress. Par conséquent, il devient impératif d’héberger WordPress sur un serveur distant, prérequis à la configuration d’un cache Redis ainsi qu’à l’amélioration du temps de réponse du serveur et de la vitesse globale du site. Il est primordial de noter qu’une compréhension fondamentale de l’utilisation de WordPress est indispensable pour interagir efficacement avec le contenu de ce didacticiel.
Installation de WordPress avec le serveur AWS EC2
Dans ce guide pédagogique, j'ai établi une installation WordPress utilisant la plate-forme Amazon Web Services (AWS). Vous trouverez ci-dessous des instructions procédurales succinctes décrivant le processus de configuration. Dans un premier temps, il est impératif de s'assurer de la possession d'un compte AWS actif ; il est à noter qu'un compte de niveau gratuit suffit aux fins de cet exemple.
Accédez à la console AWS et accédez au service Amazon Elastic Compute Cloud (EC2), effectuant ensuite le lancement d'une instance virtuelle. Ensuite, dans l’enceinte d’AWS Marketplace, effectuez une recherche diligente de l’application WordPress. Il est pertinent de souligner que la configuration actuelle reste éligible à la catégorie du niveau gratuit. En conséquence, optez pour l’itération de WordPress packagée Bitnami, qui fonctionne sur l’architecture du serveur HTTP Apache.
Sélectionnez un type d'instance AWS approprié. Pour ce scénario spécifique, optez pour le type de micro-instance t2, qui est éligible à l’éligibilité au niveau gratuit. Ensuite, passez au bouton "Review Launch" et, une fois vérifié, exécutez le lancement de l'instance.
Générez une nouvelle paire de clés pour établir une connexion sécurisée entre ce serveur et un ordinateur local. Assurez-vous que la paire de clés téléchargée provenant de ce processus est conservée avant de lancer les instances.
Faites preuve de patience pendant qu'AWS initialise et démarre les lancements d'instance. Pour accéder aux instances lancées, cliquez simplement sur l'identifiant de lancement fourni comme indiqué ci-dessous.
Après confirmation de l'état opérationnel de l'instance et de la configuration réussie de WordPress, l'adresse IP attribuée devient évidente. Pour accéder au blog WordPress récemment créé, saisissez simplement l'adresse IPv4 publique désignée dans un navigateur Web. Pour les environnements de production, l'utilisation directe de votre nom de domaine suffit.
Accéder au serveur à l'aide de PuTTY
Commencez par vous procurer l'application PuTTY, un client open source qui facilite les fonctionnalités Secure Shell (SSH) et telnet sur la plate-forme Windows. Suite à l’acquisition, procédez à l’installation de PuTTY sur votre ordinateur.
Une fois l'installation réussie de PuTTY, localisez l'utilitaire PuTTYgen dans le répertoire de votre ordinateur et lancez son lancement. Cette phase nécessite la conversion de la bi-clé générée précédemment en un fichier de clé publique-privée. Dans l'interface PuTTYgen, chargez la clé désignée, lancez le processus de génération de clé, puis conservez la clé privée générée.
À la suite de cette procédure, lancez l'application PuTTY et saisissez le nom d'hôte ou le nom de domaine du serveur pertinent. Naviguez dans l'interface jusqu'à la section « Session » et fournissez l'adresse IP ou le nom de domaine associé, le cas échéant.
Une configuration plus approfondie est garantie dans le menu « Connexions », en particulier sous la sous-section « SSH », puis « Auth ». Ici, la clé SSH récemment enregistrée doit être chargée. Une fois configurée, la connexion peut être établie en sélectionnant l'option « Ouvrir ».
Une fois la connexion réussie, une interface de terminal sera présentée. Saisissez «bitnami» comme identifiant de connexion. Il est à noter que « bitnami » est le nom d'utilisateur par défaut prescrit lors de l'installation de WordPress. Si des modifications du nom d'utilisateur ont été mises en œuvre, saisissez le nom d'utilisateur modifié en conséquence. Cette interface de terminal fournit une plate-forme interactive pour introduire des bibliothèques et des extensions supplémentaires afin d'améliorer les fonctionnalités du serveur WordPress.
Ajout de Redis au serveur racine
Maintenant que WordPress est exécuté sur le même serveur racine, Redis doit être ajouté. Exécutez la commande suivante sur le terminal PuTTY auquel nous venons de nous connecter pour ce faire.
sudo apt install redis
Redis sera donc installé sur cette adresse IP. Vous pouvez le redémarrer avec sudo systemctl restart redis.service
pour permettre à tout de se configurer. Exécutons pour voir si le serveur Redis est opérationnel.
sudo systemctl status redis
Redis est correctement configuré sur notre serveur. Vous pouvez constater que nous n'avons pas encore de clés de cache Redis enregistrées en exécutant redis-cli
et la commande keys *
.
Maintenant que tout est configuré, nous devons aller sur WordPress wp-admin
et ajouter un plugin Redis. En conséquence, il vous suffit de saisir votre adresse IP ou votre nom de domaine et wp-admin
comme indiqué ci-dessous.
your-ip-address/wp-admin
Accédez à votre instance en cours d'exécution sur AWS, cliquez avec le bouton droit sur «Surveiller et dépanner», puis saisissez les informations de connexion wp-admin. Journal système, s'il vous plaît. Pour accéder à wp-admin, vous recevrez vos informations de connexion Bitnami WordPress par défaut. Et vous avez atteint le tableau de bord administratif.
Ajouter Redis à WordPress
Avant de configurer Redis, il est nécessaire de procéder à l'installation et à l'activation du plugin Query Monitor .
Le plugin Query Monitor facilite le débogage de divers aspects, notamment les requêtes de base de données, les erreurs PHP, les hooks et les actions, les blocs dans l'éditeur de blocs, les scripts et feuilles de style mis en file d'attente, les appels d'API HTTP, etc. De plus, il offre la possibilité d'afficher un nombre complet de requêtes de base de données organisées par plugins individuels.
Pour lancer ce processus, accédez à la page d'accueil de votre site Web et accédez au menu Query Monitor.
Ce faisant, le tableau de bord Query Monitor sera lancé.
Par la suite, portez votre attention sur les métriques obtenues à partir de cette page particulière. Il s’agit notamment d’une page Web relativement simple, observable avec un nombre cumulé de 23 requêtes de base de données, exécutées en seulement 0,0013 millisecondes.
Une fois cette étape préliminaire terminée, procédez à l’introduction d’un nouveau plugin. A titre d'exemple illustratif, recherchez "Redis" et optez pour le plugin spécifique " Redis Object Cache ".
Après la sélection, procédez à l’installation et à l’activation du plugin. Passez ensuite à la section Paramètres Redis dans le menu de votre tableau de bord. À ce stade, il devient impératif d’activer la fonctionnalité Object Cache.
En suivant ces instructions, Redis sera configuré en utilisant les paramètres par défaut.
Vérification
Dans le contexte de l'optimisation d'un site Web, lors de l'accès à un blog sur votre site Web, tel que le blog WordPress « hello world » par défaut, les résultats de cette requête sont stockés dans la banque de données Redis.
Ensuite, accédez au terminal et lancez l'interface de ligne de commande (CLI) Redis à l'aide de la commande " redis-cli
" avec les clés spécifiées (notées *). À ce stade, vous remarquerez que Redis a dûment enregistré de nouvelles clés WordPress (wp).
Cette configuration complète la configuration de Redis à des fins de mise en cache dans l'environnement WordPress.
Pour constater les effets, actualisez la page d'accueil que vous avez initialement chargée, tout en utilisant simultanément Query Monitor.
L'observation qui en résulte révèle un raffinement notable: la page se charge désormais avec seulement trois requêtes de base de données, chacune complétée en un temps extrêmement rapide de 0,0003 millisecondes. Cette optimisation a considérablement allégé la charge cumulée sur le temps de traitement des requêtes de notre base de données. Les requêtes susmentionnées sont désormais systématiquement stockées en mémoire, réduisant ainsi la fréquence des appels directs à la base de données MySQL. Cette orchestration contribue collectivement à améliorer la réactivité du backend dans le traitement des demandes entrantes.
Emballer
Cela sera crucial pour rendre votre site Web plus rapide si vous gérez un grand site Web comme woo-commerce. De plus, en mettant en cache les processus gourmands en bases de données, le site Web sera plus résilient.
Même lorsque plusieurs personnes passent des commandes, elles utilisent toujours le cache pour récupérer les données. Moins de ressources seront utilisées et l’expérience backend sera plus rapide.
Redis met uniquement en cache les objets et les requêtes de base de données. Cela signifie que vous pouvez continuer à utiliser d'autres plugins de cache pour mettre en cache vos pages et accélérer votre site Web, comme Cache Enabler et WP Cloudflare .