Optimizirajte performanse svoje baze podataka korištenjem Memcached poslužitelja sa svojim PHP i Python aplikacijama
Ako ste ikada osjetili bol zbog visokog opterećenja baze podataka koje uzrokuje usporavanje vaših web-aplikacija i pitali se “Postoji li način da se smanji kašnjenje uzrokovano DB upitima?”, onda je odgovor na to pitanje veliki potvrdan odgovor. Memcached prijateljski susjedski memorijski cache demon je tu da riješi sve vaše probleme! Predmemoriranje DB-a jedna je od najjednostavnijih metoda za ublažavanje opterećenja DB-a i ubrzavanje dinamičkih web aplikacija.
Memcached se definira kao visokoučinkoviti, distribuirani sustav predmemorije objekata memorije, generičke prirode, ali izvorno namijenjen za upotrebu u ubrzavanju dinamičkih web aplikacija ublažavanjem opterećenja baze podataka. Razvio Brad Fitzpatrick za svoju web stranicu LiveJournal 2003. godine.
U ovom članku ćemo pogledati kako instalirati i konfigurirati Memcached u Ubuntu 20.04 i pogledati njegove klijente specifične za jezik.
Preduvjeti
Sustav instaliran s Ubuntu 20.04 s korisnikom s administrativnim pravima, tj sudo
korisnik.
Montaža
Memcached je dostupan na službenom Ubuntu 20.04 spremištu, osim Memcached-a, također ćemo instalirati CLI alat poznat kao libmemcached-alati
za upravljanje Memcachedom. Samo pokrenite sljedeću naredbu da instalirate oboje
sudo apt install memcached libmemcached-tools
Provjerite instalaciju
Nakon dovršetka instalacije, Memcached demon se sam pokreće u pozadini. Za provjeru instalacije možemo koristiti naredbu from libmemcached-alati
paket za dobivanje statistike poslužitelja Memcached. Ili trči
memcstat --servers localhost
ili
memcstat --poslužitelji 127.0.0.1
The memcstat
naredba prikazuje statistiku pokrenutog poslužitelja. Gornja naredba će rezultirati dolje prikazanim izlazom.
Razne statistike kao npr vrijeme rada
u sekundama, verzija
i pid
će se prikazati kao izlaz. Međutim, ako se ne prikaže nikakav izlaz, moguće je da Memcached ne radi. Stoga morate pokrenuti sljedeću naredbu za pokretanje Memcached poslužitelja.
sudo systemctl pokreni memcached
Za pokretanje Memcached poslužitelja pri pokretanju sustava koristite sljedeću naredbu.
sudo systemctl omogući memcached
Konfiguriranje Memcacheda
Ako imate svoj memcached instaliran na samom poslužitelju web stranice, nema potrebe mijenjati konfiguracijsku datoteku jer je memcached unaprijed konfiguriran za rad s localhostom.
S druge strane, ako ste instalirali Memcached na zasebnom sustavu, morat ćete promijeniti konfiguraciju kako biste omogućili pristup udaljenom poslužitelju Memcached poslužitelju.
Postavljanje udaljenog pristupa za Memcached poslužitelj
Memcached je osjetljiv na DDoS (Distributed Denial of Service) napade. Netočno pravilo vatrozida i otvoreni UDP portovi ostavit će vaš poslužitelj otvorenim i ranjivim na DDoS napade.
Da bismo ublažili rizik, možemo ili onemogućiti UDP protokol za Memcached u konfiguraciji ili postaviti vatrozid samo kako bismo dopustili pouzdane poslužitelje.
Izvan kutije, Ubuntu se isporučuje bez otvorenih TCP ili UDP portova. Nadalje, firewall daemon ufw
(nekomplicirani vatrozid) nije omogućen prema zadanim postavkama.
Omogućit ćemo vatrozid i postaviti Memcached konfiguraciju tako da možemo ublažiti DDoS ranjivost.
Prvo, omogućite ufw
pokretanjem sljedeće naredbe:
sudo systemctl omogući ufw
Zatim pokrenite ufw
uslugu pokretanjem donje naredbe:
sudo systemctl start ufw
Kada je vatrozid pokrenut, konačno možemo postaviti pravila vatrozida. Prvo omogućite port 22 da biste omogućili SSH veze. SSH je potreban za daljinski pristup željenom poslužitelju.
sudo ufw dopusti 22
Drugo, morate znati IP adresu klijenta, odnosno host web aplikacije i IP adresu poslužitelja, odnosno Memcached poslužitelja.
Za ovu instancu pretpostavimo da je IP klijenta 192.168.0.4
i Memcached IP poslužitelja biti 192.168.0.5
na lokalnoj mreži.
Dakle, da biste omogućili udaljeni pristup memcached poslužitelju klijentskom poslužitelju, pokrenite:
sudo ufw dopusti s 192.168.0.4 na bilo koji port 11211
Zamijenite 192.168.0.4
sa željenom IP adresom klijenta.
Zatim uredite konfiguracijsku datoteku Memcached koja se nalazi na /etc/memcached.conf
trčanjem nano
naredba.
sudo nano /etc/memcached.conf
The memcached.conf
otvorit će se konfiguracijska datoteka u uređivaču nano, potražite -l 127.0.0.1
liniju u konfiguraciji i zamijenite 127.0.0.1
s IP-om vašeg Memcached poslužitelja ili u ovom slučaju 192.168.0.5
.
Nakon zamjene presa ctrl+o
za pisanje u konfiguracijsku datoteku i pritisnite enter, pritisnite ctrl+x
za izlaz iz nano.
Ponovno pokrenite Memcached poslužitelj i ufw
firewall pokretanjem donje naredbe.
sudo systemctl ponovno pokrenite memcached ufw
Sada smo gotovi s instalacijom i konfiguracijom Memcached poslužitelja na Ubuntu 20.04.
Povezivanje s Memcached poslužiteljem
Da biste koristili Memcached poslužitelj, morat ćete instalirati klijenta specifičnog za jezik. Srećom, Memcached ima podršku za mnoge popularne jezike.
Dakle, da vidimo kako instalirati php
i piton
klijent za Memcached.
PHP je najpopularniji skriptni jezik na strani poslužitelja, a Memcached uglavnom koriste web programeri za poboljšanje performansi poslužitelja web aplikacija koje pokreće PHP.
Da biste instalirali podršku za memcached u php, trčanje:
sudo apt instalirajte php-memcached
Python također ima nekoliko biblioteka koje mogu raditi i komunicirati s Memcached poslužiteljem, kao što su pymemcached
ili python-memcached
.
Možete instalirati memcached za python pokretanjem sljedećih pip naredbi:
pip install pymemcache
pip install python-memcached
U zaključku, pogledali smo instalaciju, konfiguraciju i nekoliko klijenata specifičnih za jezik Memcacheda u Ubuntu 20.04.
Da biste saznali detaljnije i naprednije korištenje Memcacheda, pogledajte Memcached Wiki.