Optimitzeu el rendiment de la vostra base de dades utilitzant el servidor Memcached amb les vostres aplicacions PHP i Python
Si alguna vegada heu sentit el dolor de l'alta càrrega de la base de dades que causa la desacceleració de les vostres aplicacions web i us heu preguntat "Hi ha alguna manera de disminuir la latència causada per les consultes de base de dades?", aleshores la resposta a aquesta pregunta és un gran sí. Memcached, un simpàtic dimoni de memòria cau del barri és aquí per resoldre tots els vostres problemes! La memòria cau de la base de dades és un dels mètodes més senzills per alleujar la càrrega de la base de dades i accelerar les aplicacions web dinàmiques.
Memcached es defineix com un sistema d'emmagatzematge en memòria cau d'objectes de memòria distribuïda d'alt rendiment, de naturalesa genèrica, però originalment destinat a utilitzar-se per accelerar aplicacions web dinàmiques per alleujar la càrrega de la base de dades. Desenvolupat per Brad Fitzpatrick per al seu lloc web LiveJournal el 2003.
En aquest article, veurem com instal·lar i configurar Memcached a Ubuntu 20.04 i veurem els seus clients específics d'idioma.
Requisits previs
Un sistema instal·lat amb Ubuntu 20.04 amb un usuari amb drets d'administrador, és a dir a sudo
usuari.
Instal·lació
Memcached està disponible al dipòsit oficial d'Ubuntu 20.04, a més de Memcached, també instal·lem una eina CLI coneguda com libmemcached-tools
per gestionar Memcached. Només heu d'executar l'ordre següent per instal·lar tots dos
sudo apt install memcached libmemcached-tools
Verifiqueu la instal·lació
Un cop finalitzada la instal·lació, el dimoni Memcached s'inicia en segon pla per si mateix. Per verificar la instal·lació, podem utilitzar una ordre de libmemcached-tools
paquet per obtenir estadístiques del servidor Memcached. O córrer
memcstat --servers localhost
o
memcstat --servers 127.0.0.1
El memcstat
L'ordre mostra les estadístiques del servidor en execució. L'ordre anterior donarà lloc a la sortida que es mostra a continuació.
Diverses estadístiques com ara temps de funcionament
en segons, versió
i pid
es mostrarà com a sortida. Tanmateix, si no es mostra cap sortida, és possible que Memcached no s'està executant. Per tant, heu d'executar l'ordre següent per iniciar el servidor Memcached.
sudo systemctl start memcached
Per executar el servidor Memcached a l'inici del sistema, utilitzeu l'ordre següent.
sudo systemctl habilitat memcached
Configuració de Memcached
Si teniu el vostre memcached instal·lat al servidor del lloc web, no cal que canvieu el fitxer de configuració, ja que memcached està preconfigurat per funcionar amb localhost.
D'altra banda, si heu instal·lat Memcached en un sistema independent, haureu de canviar la configuració per permetre l'accés del servidor remot al servidor Memcached.
Configuració de l'accés remot per al servidor Memcached
Memcached és vulnerable als atacs DDoS (Denegació de servei distribuïda). Una regla de tallafoc incorrecta i els ports UDP oberts deixaran el vostre servidor obert i vulnerable als atacs DDoS.
Per mitigar el risc, podem desactivar el protocol UDP per a Memcached a la configuració o configurar el tallafoc només per permetre servidors de confiança.
Des de la caixa, Ubuntu s'envia sense ports TCP o UDP oberts. A més, el dimoni del tallafoc ufw
(Talafocs sense complicacions) no està habilitat per defecte.
Habilitarem el tallafoc i configurarem la configuració de Memcached perquè puguem mitigar la vulnerabilitat DDoS.
Primer, activeu el ufw
executant l'ordre següent:
sudo systemctl enable ufw
A continuació, inicieu el ufw
servei executant l'ordre següent:
sudo systemctl start ufw
Amb el tallafoc en funcionament, finalment podem configurar les regles del tallafoc. En primer lloc, habiliteu el port 22 per permetre connexions SSH. SSH és necessari per accedir de manera remota al servidor desitjat.
sudo ufw allow 22
En segon lloc, cal conèixer l'adreça IP del client, és a dir, l'amfitrió de l'aplicació web i l'adreça IP del servidor, és a dir, el servidor Memcached.
En aquest cas, suposem que la IP del client és 192.168.0.4
i la IP del servidor Memcached 192.168.0.5
en una xarxa local.
Per tant, per permetre l'accés remot del servidor memcached al servidor client, executeu:
sudo ufw permet des de 192.168.0.4 a qualsevol port 11211
Substituïu el 192.168.0.4
amb l'adreça IP del client desitjada.
A continuació, editeu el fitxer de configuració de Memcached situat a /etc/memcached.conf
corrent nano
comandament.
sudo nano /etc/memcached.conf
El memcached.conf
s'obrirà el fitxer de configuració amb l'editor nano, cerqueu el fitxer -l 127.0.0.1
línia a la configuració i substituir 127.0.0.1
amb la vostra IP del servidor Memcached o en aquest cas 192.168.0.5
.
Després de substituir la premsa ctrl+o
per escriure al fitxer de configuració i prémer Enter, premeu ctrl+x
per sortir de nano.
Reinicieu el servidor Memcached i ufw
tallafoc executant l'ordre següent.
sudo systemctl reiniciem memcached ufw
Ara hem acabat amb la instal·lació i configuració del servidor Memcached a Ubuntu 20.04.
Connexió al servidor Memcached
Per utilitzar el servidor Memcached, haureu d'instal·lar un client específic d'idioma. Afortunadament, Memcached té suport per a molts idiomes populars.
Així doncs, veurem com instal·lar-lo php
i pitó
client per a Memcached.
PHP és el llenguatge de script del costat del servidor més popular i Memcached és utilitzat principalment pels desenvolupadors web per millorar el rendiment del servidor d'aplicacions web amb PHP.
Per instal·lar el suport de memcached a php, correr:
sudo apt install php-memcached
Python també té diverses biblioteques que poden funcionar i interactuar amb el servidor Memcached, com ara pymemcached
o python-memcached
.
Podeu instal·lar memcached per a Python executant les ordres pip següents:
pip instal·la pymemcache
pip install python-memcached
En conclusió, hem analitzat la instal·lació, la configuració i alguns clients específics d'idioma de Memcached a Ubuntu 20.04.
Per conèixer un ús més detallat i avançat de Memcached, feu una ullada a Memcached Wiki.