Optimizați-vă performanța bazei de date utilizând serverul Memcached cu aplicațiile dvs. PHP și Python
Dacă ați simțit vreodată durerea încărcării mari a bazei de date care provoacă încetinirile în aplicațiile dvs. web și v-ați întrebat „Există o modalitate de a reduce latența cauzată de interogările DB?”, atunci răspunsul la această întrebare este un mare da. Memcached, un demon prietenos de memorie cache de cartier este aici pentru a vă rezolva toate necazurile! Memorarea în cache a DB este una dintre cele mai simple metode de a ușura încărcarea DB și de a accelera aplicațiile web dinamice.
Memcached se definește ca sistem de stocare în cache a obiectelor cu memorie distribuită, de înaltă performanță, de natură generică, dar inițial destinat utilizării în accelerarea aplicațiilor web dinamice prin atenuarea încărcării bazei de date. Dezvoltat de Brad Fitzpatrick pentru site-ul său LiveJournal în 2003.
În acest articol, ne vom uita la cum să instalați și să configurați Memcached în Ubuntu 20.04 și să ne uităm la clienții săi specifici limbii.
Cerințe preliminare
Un sistem instalat cu Ubuntu 20.04 cu un utilizator cu drepturi administrative, adică a sudo
utilizator.
Instalare
Memcached este disponibil pe depozitul oficial Ubuntu 20.04, pe lângă Memcached, vom instala și un instrument CLI cunoscut sub numele de libmemcached-tools
pentru a gestiona Memcached. Doar rulați următoarea comandă pentru a instala ambele
sudo apt install memcached libmemcached-tools
Verificați instalarea
După finalizarea instalării, demonul Memcached pornește singur în fundal. Pentru a verifica instalarea, putem folosi o comandă de la libmemcached-tools
pachet pentru a obține statisticile serverului Memcached. Ori fugi
memcstat --server localhost
sau
memcstat --server 127.0.0.1
The memcstat
comanda arată statisticile serverului care rulează. Comanda de mai sus va avea ca rezultat rezultatul afișat mai jos.
Diverse statistici, cum ar fi timpul de funcționare
în secunde, versiune
și pid
va fi afișat ca ieșire. Cu toate acestea, dacă nu este afișată nicio ieșire, este posibil ca Memcached să nu ruleze. Prin urmare, trebuie să rulați următoarea comandă pentru a porni serverul Memcached.
sudo systemctl start memcached
Pentru a rula serverul Memcached la pornirea sistemului, utilizați următoarea comandă.
sudo systemctl enable memcached
Configurarea Memcached
Dacă aveți memcached instalat pe serverul site-ului propriu-zis, nu este nevoie să schimbați fișierul de configurare, deoarece memcached este preconfigurat să funcționeze cu localhost.
Pe de altă parte, dacă ați instalat Memcached pe un sistem separat, va trebui să schimbați configurația pentru a permite accesul serverului de la distanță la serverul Memcached.
Configurarea accesului la distanță pentru serverul Memcached
Memcached este vulnerabil la atacurile DDoS (Distributed Denial of Service). Regula incorectă pentru firewall și porturile UDP deschise vor lăsa serverul tău deschis și vulnerabil la atacurile DDoS.
Pentru a reduce riscul, putem fie să dezactivăm protocolul UDP pentru Memcached în configurație, fie să setăm firewall numai pentru a permite servere de încredere.
Ieșit din cutie, Ubuntu este livrat fără porturi TCP sau UDP deschise. În plus, demonul firewall ufw
(Firewall necomplicat) nu este activat implicit.
Vom activa firewall-ul și vom configura configurația Memcached, astfel încât să putem atenua vulnerabilitatea DDoS.
În primul rând, activați ufw
rulând următoarea comandă:
sudo systemctl enable ufw
Apoi porniți ufw
serviciu rulând comanda de mai jos:
sudo systemctl start ufw
Cu firewall-ul care rulează, în sfârșit putem configura regulile firewall-ului. În primul rând, activați portul 22 pentru a permite conexiuni SSH. SSH este necesar pentru a accesa de la distanță serverul dorit.
sudo ufw permit 22
În al doilea rând, trebuie să cunoașteți adresa IP a clientului, adică gazda aplicației web și adresa IP a serverului, adică serverul Memcached.
În acest caz, să presupunem că IP-ul clientului este 192.168.0.4
și IP-ul serverului Memcached să fie 192.168.0.5
pe o rețea locală.
Deci, pentru a permite accesul de la distanță al serverului memcached la serverul client, rulați:
sudo ufw permite de la 192.168.0.4 la orice port 11211
Inlocuieste 192.168.0.4
cu adresa IP a clientului dorită.
Apoi, editați fișierul de configurare Memcached situat la /etc/memcached.conf
prin alergare nano
comanda.
sudo nano /etc/memcached.conf
The memcached.conf
fișierul de configurare se va deschide cu editorul nano, căutați -l 127.0.0.1
aliniați în configurație și înlocuiți 127.0.0.1
cu IP-ul serverului Memcached sau în acest caz 192.168.0.5
.
După înlocuirea presei ctrl+o
pentru a scrie în fișierul de configurare și apăsați enter, apăsați ctrl+x
pentru a ieși din nano.
Reporniți serverul Memcached și ufw
firewall rulând comanda de mai jos.
sudo systemctl restart memcached ufw
Acum am terminat cu instalarea și configurarea serverului Memcached pe Ubuntu 20.04.
Conectarea la serverul Memcached
Pentru a utiliza serverul Memcached, va trebui să instalați un client specific limbii. Din fericire, Memcached are suport pentru multe limbi populare.
Deci, haideți să vedem cum să instalăm php
și piton
client pentru Memcached.
PHP este cel mai popular limbaj de scripting pe partea de server, iar Memcached este folosit în mare parte de dezvoltatorii web pentru a îmbunătăți performanța serverului aplicațiilor web alimentate de PHP.
Pentru a instala suportul memcached în php, alerga:
sudo apt install php-memcached
Python are și mai multe biblioteci care pot funcționa și interacționa cu serverul Memcached, cum ar fi pymemcached
sau python-memcached
.
Puteți instala memcached pentru python rulând următoarele comenzi pip:
pip install pymemcache
pip install python-memcached
În concluzie, am analizat instalarea, configurarea și câțiva clienți specifici limbii ai Memcached în Ubuntu 20.04.
Pentru a afla mai multe despre utilizarea Memcached mai precisă și avansată, aruncați o privire la Memcached Wiki.