Optimisez les performances de votre base de données en utilisant le serveur Memcached avec vos applications PHP et Python
Si vous avez déjà ressenti la douleur d'une charge élevée de la base de données causant des ralentissements dans vos applications Web et que vous vous êtes demandé « Existe-t-il un moyen de réduire la latence causée par les requêtes de base de données ? », alors la réponse à cette question est un grand oui. Memcached, un démon amical de cache de mémoire de quartier, est là pour résoudre tous vos problèmes ! La mise en cache de la base de données est l'une des méthodes les plus simples pour alléger la charge de la base de données et accélérer les applications Web dynamiques.
Memcached se définit comme un système de mise en cache d'objets à mémoire distribuée hautes performances, de nature générique, mais destiné à l'origine à être utilisé pour accélérer les applications Web dynamiques en allégeant la charge de la base de données. Développé par Brad Fitzpatrick pour son site Web LiveJournal en 2003.
Dans cet article, nous verrons comment installer et configurer Memcached dans Ubuntu 20.04 et examinerons ses clients spécifiques à la langue.
Conditions préalables
Un système installé avec Ubuntu 20.04 avec un utilisateur avec des droits d'administration, c'est-à-dire un sudo
utilisateur.
Installation
Memcached est disponible sur le référentiel officiel Ubuntu 20.04, en plus de Memcached, nous allons également installer un outil CLI appelé libmemcached-tools
pour gérer Memcached. Exécutez simplement la commande suivante pour installer les deux
sudo apt installer memcached libmemcached-tools
Vérifier l'installation
Une fois l'installation terminée, le démon Memcached démarre tout seul en arrière-plan. Pour vérifier l'installation, nous pouvons utiliser une commande de libmemcached-tools
package pour obtenir les statistiques du serveur Memcached. Soit courir
memcstat --servers localhost
ou
memcstat --servers 127.0.0.1
le memcstat
La commande affiche les statistiques du serveur en cours d'exécution. La commande ci-dessus entraînera la sortie affichée ci-dessous.
Diverses statistiques telles que disponibilité
en secondes, version
et pid
sera affiché en sortie. Cependant, si aucune sortie n'est affichée, il est possible que Memcached ne soit pas en cours d'exécution. Par conséquent, vous devez exécuter la commande suivante pour démarrer le serveur Memcached.
sudo systemctl démarrer memcached
Pour exécuter le serveur Memcached au démarrage du système, utilisez la commande suivante.
sudo systemctl activer memcached
Configuration de Memcached
Si votre memcached est installé sur le serveur du site Web lui-même, il n'est pas nécessaire de modifier le fichier de configuration car memcached est préconfiguré pour fonctionner avec localhost.
D'un autre côté, si vous avez installé Memcached sur un système séparé, vous devrez modifier la configuration pour permettre au serveur distant d'accéder au serveur Memcached.
Configuration de l'accès à distance pour le serveur Memcached
Memcached est vulnérable aux attaques DDoS (Distributed Denial of Service). Une règle de pare-feu incorrecte et des ports UDP ouverts laisseront votre serveur ouvert et vulnérable aux attaques DDoS.
Pour atténuer le risque, nous pouvons soit désactiver le protocole UDP pour Memcached dans la configuration, soit configurer un pare-feu uniquement pour autoriser les serveurs de confiance.
Prêt à l'emploi, Ubuntu est livré sans ports TCP ou UDP ouverts. De plus, le démon de pare-feu euh
(Pare-feu simple) n'est pas activé par défaut.
Nous allons activer le pare-feu et configurer la configuration Memcached afin de pouvoir atténuer la vulnérabilité DDoS.
Tout d'abord, activez le euh
en exécutant la commande suivante :
sudo systemctl activer ufw
Puis démarrez le euh
service en exécutant la commande ci-dessous :
sudo systemctl démarrer ufw
Avec le pare-feu en cours d'exécution, nous pouvons enfin configurer les règles du pare-feu. Tout d'abord, activez le port 22 pour autoriser les connexions SSH. SSH est nécessaire pour accéder à distance au serveur souhaité.
sudo ufw autoriser 22
Deuxièmement, vous devez connaître l'adresse IP du client, c'est-à-dire l'hôte de l'application Web et l'adresse IP du serveur, c'est-à-dire le serveur Memcached.
Dans ce cas, supposons que l'IP du client soit 192.168.0.4
et l'IP du serveur Memcached à 192.168.0.5
sur un réseau local.
Donc, pour autoriser l'accès à distance du serveur memcached au serveur client, exécutez :
sudo ufw autoriser de 192.168.0.4 à n'importe quel port 11211
Remplace le 192.168.0.4
avec l'adresse IP client souhaitée.
Ensuite, éditez le fichier de configuration Memcached situé à /etc/memcached.conf
en exécutant nano
commander.
sudo nano /etc/memcached.conf
le memcached.conf
le fichier de configuration s'ouvrira avec l'éditeur nano, recherchez le -l 127.0.0.1
ligne dans la configuration et remplacez 127.0.0.1
avec votre IP Memcached Server ou dans ce cas 192.168.0.5
.
Après avoir remplacé la presse ctrl+o
pour écrire dans le fichier de configuration et appuyez sur Entrée, appuyez sur ctrl+x
pour quitter nano.
Redémarrez le serveur Memcached et euh
pare-feu en exécutant la commande ci-dessous.
sudo systemctl redémarrer memcached ufw
Nous avons maintenant terminé l'installation et la configuration du serveur Memcached sur Ubuntu 20.04.
Connexion au serveur Memcached
Pour utiliser le serveur Memcached, vous devrez installer un client spécifique à la langue. Heureusement, Memcached prend en charge de nombreuses langues populaires.
Voyons donc comment installer php
et python
client pour Memcached.
PHP est le langage de script côté serveur le plus populaire et Memcached est principalement utilisé par les développeurs Web pour améliorer les performances du serveur des applications Web alimentées par PHP.
Pour installer le support memcached en php, Cours:
sudo apt installer php-memcached
Python possède également plusieurs bibliothèques qui peuvent fonctionner et interagir avec le serveur Memcached telles que pymemcaché
ou python-memcached
.
Vous pouvez installer memcached pour python en exécutant les commandes pip suivantes :
pip installer pymemcache
pip installer python-memcached
En conclusion, nous avons examiné l'installation, la configuration et quelques clients spécifiques à la langue de Memcached dans Ubuntu 20.04.
Pour en savoir plus sur l'utilisation approfondie et avancée de Memcached, jetez un œil au Wiki Memcached.