Optimeerige oma andmebaasi jõudlust, kasutades oma PHP ja Pythoni rakendustega Memcachedi serverit
Kui olete kunagi tundnud valu seoses suure andmebaasikoormusega, mis põhjustab teie veebirakenduste aeglustumist, ja mõelnud, kas on võimalik DB-päringute põhjustatud latentsusaega vähendada?, siis vastus sellele küsimusele on suur jah. Memcached sõbralik naabruskonna mälu vahemälu deemon on siin, et lahendada kõik teie hädad! DB vahemällu salvestamine on üks lihtsamaid meetodeid DB koormuse leevendamiseks ja dünaamiliste veebirakenduste kiirendamiseks.
Memcached määratleb end kui suure jõudlusega hajutatud mälu objektide vahemällu salvestamise süsteemi, mis on olemuselt üldine, kuid algselt mõeldud kasutamiseks dünaamiliste veebirakenduste kiirendamiseks andmebaasi koormuse leevendamise kaudu. Välja töötanud Brad Fitzpatrick oma veebisaidi LiveJournal jaoks 2003. aastal.
Selles artiklis vaatleme, kuidas installida ja konfigureerida Memcachedi Ubuntu 20.04-s ning vaadata selle keelepõhiseid kliente.
Eeltingimused
Ubuntu 20.04-ga installitud süsteem administraatoriõigustega kasutajaga, see tähendab a sudo
kasutaja.
Paigaldamine
Memcached on saadaval ametlikus Ubuntu 20.04 hoidlas, lisaks Memcachedile kavatseme installida ka CLI tööriista, mida nimetatakse libmemcached-tööriistad
Memcachedi haldamiseks. Mõlema installimiseks käivitage lihtsalt järgmine käsk
sudo apt install memcached libmemcached-tools
Kinnitage installimine
Pärast installimise lõpetamist käivitub Memcachedi deemon taustal iseenesest. Installimise kontrollimiseks saame kasutada käsku aadressilt libmemcached-tööriistad
pakett Memcachedi serveri statistika hankimiseks. Kas jookse
memcstat -- serverid localhost
või
memcstat --serverid 127.0.0.1
The memcstat
käsk näitab töötava serveri statistikat. Ülaltoodud käsu tulemuseks on allpool kuvatav väljund.
Erinevat statistikat nagu tööaeg
sekunditega, versioon
ja pid
kuvatakse väljundina. Kui aga väljundit ei kuvata, on võimalik, et Memcached ei tööta. Seetõttu peate Memcachedi serveri käivitamiseks käivitama järgmise käsu.
sudo systemctl start memcached
Memcachedi serveri käivitamiseks süsteemi käivitamisel kasutage järgmist käsku.
sudo systemctl lubada memcached
Memcachedi seadistamine
Kui teie memcached on installitud veebisaidi serverisse, ei ole vaja konfiguratsioonifaili muuta, kuna memcached on eelkonfigureeritud töötama koos kohaliku hostiga.
Teisest küljest, kui olete installinud Memcachedi eraldi süsteemi, peate muutma konfiguratsiooni, et võimaldada kaugserveril juurdepääs Memcachedi serverile.
Kaugjuurdepääsu seadistamine memcached serverile
Memcached on haavatav DDoS-i (Distributed Denial of Service) rünnakute suhtes. Vale tulemüürireegel ja avatud UDP-pordid jätavad teie serveri avatuks ja haavatavaks DDoS-i rünnakute suhtes.
Riski maandamiseks võime konfiguratsioonis Memcachedi jaoks UDP-protokolli keelata või seadistada tulemüüri ainult usaldusväärsete serverite lubamiseks.
Karbist välja võttes tarnitakse Ubuntu ilma avatud TCP- või UDP-portideta. Lisaks tulemüüri deemon ufw
(komplitseerimata tulemüür) pole vaikimisi lubatud.
Lubame tulemüüri ja seadistame Memcachedi konfiguratsiooni, et saaksime DDoS-i haavatavust leevendada.
Esiteks lubage ufw
käivitades järgmise käsu:
sudo systemctl lubab ufw
Seejärel alustage ufw
teenust, käivitades alloleva käsu:
sudo systemctl start ufw
Kui tulemüür töötab, saame lõpuks tulemüürireeglid seadistada. Esiteks lubage SSH-ühenduste lubamiseks port 22. Soovitud serverile kaugjuurdepääsuks on vaja SSH-d.
sudo ufw luba 22
Teiseks peate teadma kliendi IP-aadressi, st veebirakenduse hosti ja serveri IP-aadressi, see on Memcached serveri.
Sel juhul oletame, et kliendi IP on 192.168.0.4
ja memcached serveri IP olla 192.168.0.5
kohalikus võrgus.
Et võimaldada vahemällu salvestatud serveri kaugjuurdepääsu kliendiserverile, käivitage:
sudo ufw lubab alates 192.168.0.4 mis tahes porti 11211
Asendage 192.168.0.4
soovitud kliendi IP-aadressiga.
Järgmisena redigeerige Memcachedi konfiguratsioonifaili, mis asub aadressil /etc/memcached.conf
joostes nano
käsk.
sudo nano /etc/memcached.conf
The memcached.conf
konfiguratsioonifail avaneb nanoredaktoriga, otsige üles -l 127.0.0.1
rida konfiguratsioonis ja asendada 127.0.0.1
oma Memcached serveri IP-ga või antud juhul 192.168.0.5
.
Pärast asendamist vajutage ctrl+o
konfiguratsioonifaili kirjutamiseks ja sisestusklahvi vajutamiseks vajutage ctrl+x
nanost väljumiseks.
Taaskäivitage Memcachedi server ja ufw
tulemüüri, käivitades alloleva käsu.
sudo systemctl taaskäivitage memcached ufw
Nüüd oleme Ubuntu 20.04-s Memcachedi serveri installimise ja konfigureerimisega lõpetanud.
Memcached serveriga ühenduse loomine
Memcachedi serveri kasutamiseks peate installima keelepõhise kliendi. Õnneks on Memcachedil paljude populaarsete keelte tugi.
Seega vaatame, kuidas installida php
ja püüton
Memcachedi klient.
PHP on kõige populaarsem serveripoolne skriptikeel ja veebiarendajad kasutavad enamasti Memcachedi, et parandada PHP-l töötavate veebirakenduste serveri jõudlust.
Memcached toe installimiseks php-sse jooksma:
sudo apt install php-memcached
Ka Pythonil on mitu teeki, mis võivad töötada ja suhelda Memcachedi serveriga, näiteks pymemcached
või python-memcached
.
Saate installida memcached for python, käivitades järgmised pip-käsud:
pip install pymemcache
pip install python-memcached
Kokkuvõtteks oleme vaadanud Ubuntu 20.04 Memcachedi installimist, konfigureerimist ja väheseid keelepõhiseid kliente.
Memcachedi täpsema ja täpsema kasutamise kohta vaadake Memcachedi Wiki.