Optimalizálja adatbázisa teljesítményét a Memcached szerver használatával PHP és Python alkalmazásaival
Ha valaha is érezte a nagy adatbázis-terhelés fájdalmát, amely a webalkalmazások lassulását okozza, és azon töprengett, hogy „Van-e mód a DB-lekérdezések által okozott késleltetés csökkentésére?”, akkor a válasz erre a kérdésre egy nagy igen. Memcached egy barátságos szomszédsági memória-gyorsítótár démon van itt, hogy megoldja minden baját! A DB gyorsítótárazása az egyik legegyszerűbb módszer a DB terhelés csökkentésére és a dinamikus webalkalmazások felgyorsítására.
A Memcached nagy teljesítményű, elosztott memória objektum-gyorsítótárazási rendszerként határozza meg magát, amely általános jellegű, de eredetileg a dinamikus webalkalmazások felgyorsítására szolgál az adatbázis terhelésének enyhítésével. Brad Fitzpatrick fejlesztette ki a LiveJournal webhelye számára 2003-ban.
Ebben a cikkben megvizsgáljuk, hogyan telepíthető és konfigurálható a Memcached az Ubuntu 20.04-ben, és megnézzük a nyelvspecifikus klienseit.
Előfeltételek
Az Ubuntu 20.04-el telepített rendszer rendszergazdai jogokkal rendelkező felhasználóval, azaz a sudo
felhasználó.
Telepítés
A Memcached elérhető a hivatalos Ubuntu 20.04 tárolóban, a Memcached mellett telepíteni fogunk egy CLI eszközt is. libmemcached-tools
hogy kezelje a Memcachedet. Csak futtassa a következő parancsot mindkettő telepítéséhez
sudo apt install memcached libmemcached-tools
Ellenőrizze a telepítést
A telepítés befejezése után a Memcached démon magától elindul a háttérben. A telepítés ellenőrzéséhez használhatjuk a következő parancsot libmemcached-tools
csomagot a Memcached szerver statisztikáihoz. Vagy fuss
memcstat --servers localhost
vagy
memcstat --szerverek 127.0.0.1
A memcstat
parancs a futó szerver statisztikáit mutatja. A fenti parancs az alábbi kimenetet eredményezi.
Különféle statisztikák, mint pl üzemidő
másodpercek alatt, változat
és pid
kimenetként jelenik meg. Ha azonban nem jelenik meg kimenet, lehetséges, hogy a Memcached nem fut. Ezért a következő parancsot kell futtatnia a Memcached szerver elindításához.
sudo systemctl start memcached
A Memcached szerver futtatásához a rendszer indításakor használja a következő parancsot.
sudo systemctl enable memcached
A Memcached beállítása
Ha a memcached magára a webhelykiszolgálóra van telepítve, akkor nincs szükség a konfigurációs fájl módosítására, mivel a memcached előre be van állítva, hogy működjön a localhosttal.
Másrészt, ha a Memcachedet külön rendszerre telepítette, akkor módosítania kell a konfigurációt, hogy lehetővé tegye a távoli kiszolgáló hozzáférését a Memcached szerverhez.
Távoli hozzáférés beállítása a Memcached szerverhez
A Memcached sebezhető a DDoS (Distributed Denial of Service) támadásokkal szemben. A helytelen tűzfalszabály és a nyitott UDP-portok nyitva hagyják a szervert, és sebezhetővé válik a DDoS-támadásokkal szemben.
A kockázat csökkentése érdekében vagy letilthatjuk az UDP protokollt a Memcached számára a konfigurációban, vagy beállíthatjuk a tűzfalat, amely csak a megbízható szervereket engedélyezi.
A dobozból kivéve az Ubuntu TCP- vagy UDP-portok nélkül szállítjuk. Továbbá a tűzfal démon ufw
(egyszerű tűzfal) alapértelmezés szerint nincs engedélyezve.
Engedélyezni fogjuk a tűzfalat, és beállítjuk a Memcached konfigurációt, hogy csökkenthessük a DDoS sebezhetőségét.
Először engedélyezze a ufw
a következő parancs futtatásával:
sudo systemctl enable ufw
Ezután indítsa el a ufw
szolgáltatást az alábbi parancs futtatásával:
sudo systemctl start ufw
A tűzfal futásával végre beállíthatjuk a tűzfalszabályokat. Először is engedélyezze a 22-es portot az SSH-kapcsolatok engedélyezéséhez. SSH szükséges a kívánt szerver távoli eléréséhez.
sudo ufw enable 22
Másodszor, ismernie kell a kliens IP-címét, azaz a webalkalmazás gazdagépét és a szerver IP-címét, azaz a Memcached szerverét.
Ebben az esetben tegyük fel az ügyfél IP-jét 192.168.0.4
és a Memcached szerver IP-je legyen 192.168.0.5
helyi hálózaton.
Tehát a memcached szerver és az ügyfélkiszolgáló távoli elérésének engedélyezéséhez futtassa:
sudo ufw engedélyezése a 192.168.0.4-ről bármely 11211-es portra
Helyettesíteni a 192.168.0.4
a kívánt kliens IP-címével.
Ezután szerkessze a Memcached konfigurációs fájlt, amely a címen található /etc/memcached.conf
futással nano
parancs.
sudo nano /etc/memcached.conf
A memcached.conf
A konfigurációs fájl megnyílik a nano szerkesztővel, keresse meg a -l 127.0.0.1
sort a konfigurációban, és cserélje ki 127.0.0.1
a Memcached Server IP-címével vagy ebben az esetben 192.168.0.5
.
A nyomógomb cseréje után ctrl+o
a konfigurációs fájlba íráshoz és az Enter billentyű lenyomásával ctrl+x
a nanoból való kilépéshez.
Indítsa újra a Memcached szervert és ufw
tűzfalat az alábbi parancs futtatásával.
sudo systemctl indítsa újra a memcached ufw-t
Elkészültünk a Memcached szerver telepítésével és konfigurálásával az Ubuntu 20.04-en.
Csatlakozás a Memcached szerverhez
A Memcached szerver használatához telepítenie kell egy nyelvspecifikus klienst. Szerencsére a Memcached számos népszerű nyelvet támogat.
Lássuk tehát, hogyan kell telepíteni php
és piton
kliens a Memcached számára.
A PHP a legnépszerűbb szerveroldali szkriptnyelv, és a Memcachedet leginkább a webfejlesztők használják a PHP által hajtott webalkalmazások szerverteljesítményének javítására.
A memcached támogatás telepítéséhez php-ban, fuss:
sudo apt install php-memcached
A Pythonnak is van több olyan könyvtára, amelyek működhetnek és kölcsönhatásba léphetnek a Memcached szerverrel, mint például pymemcached
vagy python-memcached
.
A memcached for python a következő pip parancsok futtatásával telepíthető:
pip install pymemcache
pip install python-memcached
Összefoglalva, megvizsgáltuk a Memcached telepítését, konfigurálását és néhány nyelvspecifikus kliensét az Ubuntu 20.04-ben.
Ha többet szeretne megtudni a Memcached használatáról, vessen egy pillantást a Memcached Wikire.