Optimoi tietokantasi suorituskyky käyttämällä Memcached-palvelinta PHP- ja Python-sovellustesi kanssa
Jos olet koskaan tuntenut tuskaa korkeasta tietokantakuormituksesta, joka aiheuttaa verkkosovellustesi hidastumiset ja pohtinut "Onko olemassa keinoa vähentää DB-kyselyjen aiheuttamaa latenssia?", vastaus tähän kysymykseen on suuri kyllä. Memcached ystävällinen naapuruston muistivälimuistidaemon on täällä ratkaisemassa kaikki ongelmasi! DB:n välimuisti on yksi yksinkertaisimmista tavoista keventää tietokantakuormitusta ja nopeuttaa dynaamisia verkkosovelluksia.
Memcached määrittelee itsensä korkean suorituskyvyn hajautetun muistin objektivälimuistijärjestelmäksi, joka on luonteeltaan yleinen, mutta alun perin tarkoitettu käytettäväksi dynaamisten verkkosovellusten nopeuttamiseen tietokannan kuormitusta vähentämällä. Kehittänyt Brad Fitzpatrick verkkosivulleen LiveJournal vuonna 2003.
Tässä artikkelissa tarkastellaan, kuinka Memcached asennetaan ja määritetään Ubuntu 20.04:ssä ja tarkastellaan sen kielikohtaisia asiakkaita.
Edellytykset
Järjestelmä, joka on asennettu Ubuntu 20.04:llä ja jolla on järjestelmänvalvojan oikeudet, eli a sudo
käyttäjä.
Asennus
Memcached on saatavilla virallisessa Ubuntu 20.04 -varastossa, Memcachedin lisäksi aiomme asentaa myös CLI-työkalun, joka tunnetaan nimellä libmemcached-työkalut
hallita Memcachedia. Suorita vain seuraava komento asentaaksesi molemmat
sudo apt install memcached libmemcached-tools
Tarkista asennus
Kun asennus on valmis, Memcached-daemon käynnistyy taustalla itsestään. Asennuksen tarkistamiseksi voimme käyttää komentoa kohteesta libmemcached-työkalut
paketti Memcached-palvelimen tilastojen saamiseksi. Joko juokse
memcstat -- palvelimet localhost
tai
memcstat --palvelimet 127.0.0.1
The memcstat
komento näyttää käynnissä olevan palvelimen tilastot. Yllä oleva komento johtaa alla näkyvään tulosteeseen.
Erilaisia tilastoja mm käyttöaste
sekunneissa, versio
ja pid
näytetään ulostulona. Jos tulostetta ei kuitenkaan näy, on mahdollista, että Memcached ei ole käynnissä. Siksi sinun on suoritettava seuraava komento käynnistääksesi Memcached-palvelimen.
sudo systemctl start memcached
Voit suorittaa Memcached-palvelimen järjestelmän käynnistyksen yhteydessä käyttämällä seuraavaa komentoa.
sudo systemctl enable memcached
Memcachedin määrittäminen
Jos sinulla on memcached asennettuna itse verkkosivustopalvelimelle, määritystiedostoa ei tarvitse muuttaa, koska memcached on esikonfiguroitu toimimaan localhostin kanssa.
Toisaalta, jos olet asentanut Memcachedin erilliseen järjestelmään, sinun on muutettava asetuksia, jotta etäpalvelin voi käyttää Memcached-palvelinta.
Etäkäytön määrittäminen Memcached-palvelimelle
Memcached on alttiina DDoS (Distributed Denial of Service) -hyökkäyksille. Virheellinen palomuurisääntö ja avoimet UDP-portit jättävät palvelimesi avoimeksi ja alttiiksi DDoS-hyökkäyksille.
Riskin pienentämiseksi voimme joko poistaa UDP-protokollan Memcachedille määrityksessä tai asettaa palomuurin vain sallimaan luotettavia palvelimia.
Pakkauksesta lähtien Ubuntu toimitetaan ilman TCP- tai UDP-portteja. Lisäksi palomuurin demoni ufw
(yksinkertaista palomuuria) ei ole oletusarvoisesti käytössä.
Otamme palomuurin käyttöön ja määritämme Memcached-kokoonpanon, jotta voimme lieventää DDoS-haavoittuvuutta.
Ota ensin käyttöön ufw
suorittamalla seuraava komento:
sudo systemctl enable ufw
Aloita sitten ufw
palvelu suorittamalla alla oleva komento:
sudo systemctl start ufw
Kun palomuuri on käynnissä, voimme vihdoin määrittää palomuurisäännöt. Ota ensin käyttöön portti 22 salliaksesi SSH-yhteydet. SSH:ta tarvitaan halutun palvelimen etäkäyttöön.
sudo ufw salli 22
Toiseksi sinun on tiedettävä asiakkaan IP-osoite, eli verkkosovellusisäntä, ja palvelimen, eli Memcached-palvelimen, IP-osoite.
Tässä tapauksessa oletetaan, että asiakkaan IP on 192.168.0.4
ja Memcached-palvelimen IP-osoite 192.168.0.5
paikallisessa verkossa.
Jos haluat sallia välimuistissa olevan palvelimen etäkäytön asiakaspalvelimelle, suorita:
sudo ufw salli 192.168.0.4:stä mihin tahansa porttiin 11211
Korvata 192.168.0.4
haluamallasi asiakkaan IP-osoitteella.
Muokkaa seuraavaksi Memcached-määritystiedostoa, joka sijaitsee osoitteessa /etc/memcached.conf
juoksemalla nano
komento.
sudo nano /etc/memcached.conf
The memcached.conf
asetustiedosto avautuu nanoeditorilla, etsi -l 127.0.0.1
rivi kokoonpanoon ja vaihda 127.0.0.1
Memcached Server IP:n kanssa tai tässä tapauksessa 192.168.0.5
.
Paina vaihdon jälkeen ctrl+o
kirjoittaaksesi asetustiedostoon ja painamalla enteriä, paina ctrl+x
poistuaksesi nanosta.
Käynnistä Memcached-palvelin uudelleen ja ufw
palomuuri suorittamalla alla oleva komento.
sudo systemctl käynnistä memcached ufw uudelleen
Memcached-palvelimen asennus ja asetukset on nyt tehty Ubuntu 20.04:ssä.
Yhdistetään Memcached-palvelimeen
Jotta voit käyttää Memcached-palvelinta, sinun on asennettava kielikohtainen asiakas. Onneksi Memcached tukee monia suosittuja kieliä.
Joten katsotaan kuinka asentaa php
ja python
asiakas Memcachedille.
PHP on suosituin palvelinpuolen komentosarjakieli, ja web-kehittäjät käyttävät enimmäkseen Memcachedia PHP-pohjaisten verkkosovellusten palvelimen suorituskyvyn parantamiseen.
Jos haluat asentaa memcached-tuen php:hen, juosta:
sudo apt install php-memcached
Pythonilla on myös useita kirjastoja, jotka voivat toimia ja olla vuorovaikutuksessa Memcached-palvelimen kanssa, kuten pymemcached
tai python-memcached
.
Voit asentaa memcached for pythonin suorittamalla seuraavat pip-komennot:
pip asennus pymemcache
pip asennus python-memcached
Lopuksi olemme tarkastelleet Memcachedin asennusta, konfigurointia ja muutamia kielikohtaisia asiakkaita Ubuntu 20.04:ssä.
Jos haluat tietää enemmän Memcachedin hienovaraisemmasta ja edistyneestä käytöstä, katso Memcached Wiki.