Optimizuokite duomenų bazės našumą naudodami „Memcached“ serverį su savo PHP ir Python programomis
Jei kada nors jautėte skausmą dėl didelės duomenų bazės apkrovos, dėl kurios sulėtėja jūsų žiniatinklio programos, ir susimąstėte: „Ar yra būdas sumažinti DB užklausų sukeltą delsą?“, tuomet atsakymas į šį klausimą yra didelis „taip“. Išsaugotas draugiškas kaimynystės atminties talpyklos demonas yra čia, kad išspręstų visas jūsų bėdas! DB kaupimas talpykloje yra vienas iš paprasčiausių būdų, kaip sumažinti DB apkrovą ir pagreitinti dinamines žiniatinklio programas.
„Memcached“ apibrėžia save kaip didelio našumo paskirstytos atminties objektų kaupimo talpykloje sistemą, bendro pobūdžio, tačiau iš pradžių buvo skirta paspartinti dinamines žiniatinklio programas, sumažinant duomenų bazės apkrovą. Sukūrė Bradas Fitzpatrickas savo svetainei LiveJournal 2003 m.
Šiame straipsnyje apžvelgsime, kaip įdiegti ir konfigūruoti „Memcached“ Ubuntu 20.04 versijoje ir pažvelgsime į jos kalbai būdingus klientus.
Būtinos sąlygos
Sistema, įdiegta su Ubuntu 20.04 su vartotoju, turinčiu administravimo teises, tai yra a sudo
Vartotojas.
Montavimas
„Memcached“ galima rasti oficialioje „Ubuntu 20.04“ saugykloje, be „Memcached“ taip pat ketiname įdiegti CLI įrankį, žinomą kaip libmemcached-tools
valdyti „Memcached“. Tiesiog paleiskite šią komandą, kad įdiegtumėte abu
sudo apt install memcached libmemcached-tools
Patikrinkite įdiegimą
Baigus diegti, „Memcached“ demonas pats paleidžiamas fone. Norėdami patikrinti įdiegimą, galime naudoti komandą iš libmemcached-tools
paketą, kad gautumėte „Memcached“ serverio statistiką. Arba bėkite
memcstat -- serveriai localhost
arba
memcstat -- serveriai 127.0.0.1
The memcstat
komanda rodo veikiančio serverio statistiką. Aukščiau pateikta komanda duos išvestį, rodomą žemiau.
Įvairios statistikos, pvz veikimo laikas
per sekundes, versija
ir pid
bus rodomas kaip išvestis. Tačiau jei nerodoma jokia išvestis, gali būti, kad „Memcached“ neveikia. Todėl, norėdami paleisti „Memcached“ serverį, turite paleisti šią komandą.
sudo systemctl start atmintis
Norėdami paleisti „Memcached“ serverį paleidžiant sistemą, naudokite šią komandą.
sudo systemctl įgalinti atmintinę
„Memcached“ konfigūravimas
Jei „memcached“ yra įdiegtas pačiame svetainės serveryje, nereikia keisti konfigūracijos failo, nes „memcached“ yra iš anksto sukonfigūruotas dirbti su „localhost“.
Kita vertus, jei „Memcached“ įdiegėte atskiroje sistemoje, turėsite pakeisti konfigūraciją, kad nuotolinis serveris galėtų pasiekti „Memcached“ serverį.
„Memcached“ serverio nuotolinės prieigos nustatymas
„Memcached“ yra pažeidžiamas DDoS (Distributed Denial of Service) atakų. Neteisinga ugniasienės taisyklė ir atviri UDP prievadai paliks jūsų serverį atvirą ir pažeidžiamą DDoS atakų.
Norėdami sumažinti riziką, konfigūracijoje galime išjungti UDP protokolą „Memcached“ arba nustatyti tik užkardą, kad leistų naudoti patikimus serverius.
Iš dėžutės Ubuntu pristatomas be TCP ar UDP prievadų. Be to, ugniasienės demonas ufw
(nesudėtinga ugniasienė) pagal numatytuosius nustatymus neįjungta.
Įjungsime ugniasienę ir nustatysime „Memcached“ konfigūraciją, kad galėtume sumažinti DDoS pažeidžiamumą.
Pirmiausia įjunkite ufw
paleisdami šią komandą:
sudo systemctl įgalinti ufw
Tada pradėkite ufw
paslauga paleisdami žemiau esančią komandą:
sudo systemctl start ufw
Kai ugniasienė veikia, pagaliau galime nustatyti ugniasienės taisykles. Pirmiausia įgalinkite 22 prievadą, kad galėtumėte prisijungti prie SSH. SSH reikalingas norint nuotoliniu būdu pasiekti norimą serverį.
sudo ufw leisti 22
Antra, turite žinoti kliento IP adresą, tai yra žiniatinklio programos prieglobos ir serverio, tai yra Memcached serverio, IP adresą.
Šiuo atveju tarkime, kad Kliento IP yra 192.168.0.4
ir atmintinėje išsaugoto serverio IP 192.168.0.5
vietiniame tinkle.
Taigi, norėdami leisti nuotolinę atmintyje išsaugoto serverio prieigą prie kliento serverio, paleiskite:
sudo ufw leisti iš 192.168.0.4 į bet kurį prievadą 11211
Pakeiskite 192.168.0.4
su norimu Kliento IP adresu.
Tada redaguokite „Memcached“ konfigūracijos failą, esantį adresu /etc/memcached.conf
bėgant nano
komandą.
sudo nano /etc/memcached.conf
The memcached.conf
konfigūracijos failas bus atidarytas naudojant nano redaktorių, ieškokite -l 127.0.0.1
eilutę konfigūracijoje ir pakeiskite 127.0.0.1
su savo „Memcached“ serverio IP arba šiuo atveju 192.168.0.5
.
Pakeitus presą ctrl+o
Norėdami įrašyti į konfigūracijos failą ir paspauskite Enter, paspauskite ctrl+x
išeiti iš nano.
Iš naujo paleiskite „Memcached“ serverį ir ufw
ugniasienė paleisdami toliau pateiktą komandą.
sudo systemctl iš naujo paleiskite atmintyje įrašytą ufw
Dabar mes baigėme įdiegti ir konfigūruoti „Memcached“ serverį „Ubuntu 20.04“.
Prisijungimas prie „Memcached“ serverio
Norėdami naudoti „Memcached“ serverį, turėsite įdiegti konkrečios kalbos klientą. Laimei, „Memcached“ palaiko daugybę populiarių kalbų.
Taigi, pažiūrėkime, kaip įdiegti php
ir pitonas
„Memcached“ klientas.
PHP yra populiariausia serverio pusės scenarijų kalba, o „Memcached“ dažniausiai naudoja žiniatinklio kūrėjai, siekdami pagerinti PHP naudojamų žiniatinklio programų serverio našumą.
Norėdami įdiegti atminties talpyklos palaikymą php, paleisti:
sudo apt install php-memcached
„Python“ taip pat turi keletą bibliotekų, kurios gali veikti ir sąveikauti su „Memcached“ serveriu, pvz pymemcached
arba python-memcached
.
Galite įdiegti „memcached“, skirtą „python“, vykdydami šias pip komandas:
pip įdiegti pymemcache
pip įdiegti python-memcached
Apibendrinant, mes apžvelgėme „Memcached“ Ubuntu 20.04 diegimą, konfigūraciją ir keletą konkrečios kalbos klientų.
Norėdami sužinoti išsamesnį ir sudėtingesnį „Memcached“ naudojimą, pažiūrėkite į „Memcached Wiki“.