Optimera din databasprestanda genom att använda Memcached-servern med dina PHP- och Python-appar
Om du någonsin har känt smärtan av hög databasbelastning som orsakar nedgångarna i dina webbappar och undrat "Finns det ett sätt att minska latensen som orsakas av DB-frågor?", då är svaret på den frågan ett stort ja. Memcached en vänlig stadsdelminnescache-demon är här för att lösa alla dina problem! Cachning av DB är en av de enklaste metoderna för att lindra DB-belastning och snabba upp de dynamiska webbapplikationerna.
Memcached definierar sig själv som ett högpresterande, distribuerat minnesobjektcachningssystem, generiskt till sin natur, men ursprungligen avsett att användas för att påskynda dynamiska webbapplikationer genom att minska databasbelastningen. Utvecklad av Brad Fitzpatrick för sin webbplats LiveJournal 2003.
I den här artikeln kommer vi att titta på hur man installerar och konfigurerar Memcached i Ubuntu 20.04 och tittar på dess språkspecifika klienter.
Förutsättningar
Ett system installerat med Ubuntu 20.04 med en användare med administrativa rättigheter, dvs sudo
användare.
Installation
Memcached är tillgängligt på det officiella Ubuntu 20.04-förrådet, förutom Memcached kommer vi också att installera ett CLI-verktyg känt som libmemcached-verktyg
för att hantera Memcached. Kör bara följande kommando för att installera båda
sudo apt installera memcached libmemcached-tools
Verifiera installationen
När installationen är klar startar Memcached-demonen av sig själv i bakgrunden. För att verifiera installationen kan vi använda ett kommando från libmemcached-verktyg
paket för att få Memcached serverstatistik. Antingen spring
memcstat --servers localhost
eller
memcstat --servrar 127.0.0.1
De memcstat
kommandot visar statistiken för den körande servern. Kommandot ovan kommer att resultera i utdata som visas nedan.
Olika statistik som t.ex upptid
inom sekunder, version
och pid
kommer att visas som utdata. Men om ingen utdata visas är det möjligt att Memcached inte körs. Därför måste du köra följande kommando för att starta Memcached-servern.
sudo systemctl starta memcachad
Använd följande kommando för att köra Memcached-servern vid systemstart.
sudo systemctl aktivera memcached
Konfigurerar Memcached
Om du har din memcached installerad på själva webbservern, behöver du inte ändra konfigurationsfilen eftersom memcached är förkonfigurerat för att fungera med localhost.
Å andra sidan, om du har installerat Memcached på ett separat system måste du ändra konfigurationen för att tillåta fjärrservern åtkomst till Memcached-servern.
Konfigurera fjärråtkomst för Memcached Server
Memcached är sårbart för DDoS-attacker (Distributed Denial of Service). Felaktig brandväggsregel och öppna UDP-portar kommer att lämna din server öppen och sårbar för DDoS-attacker.
För att minska risken kan vi antingen inaktivera UDP-protokollet för Memcached i konfigurationen eller konfigurera en brandvägg endast för att tillåta betrodda servrar.
Ur förpackningen levereras Ubuntu utan TCP- eller UDP-portar öppna. Dessutom brandväggsdemonen ufw
(okomplicerad brandvägg) är inte aktiverat som standard.
Vi kommer att aktivera brandväggen och ställa in Memcached-konfigurationen så att vi kan mildra DDoS-sårbarheten.
Aktivera först ufw
genom att köra följande kommando:
sudo systemctl aktivera ufw
Starta sedan ufw
tjänst genom att köra kommandot nedan:
sudo systemctl starta ufw
Med brandväggen igång kan vi äntligen ställa in brandväggsreglerna. Aktivera först port 22 för att tillåta SSH-anslutningar. SSH behövs för att fjärråtkomst till önskad server.
sudo ufw tillåter 22
För det andra måste du känna till IP-adressen för klienten, det vill säga webbapplikationsvärden och IP-adressen för servern, det vill säga den Memcachade servern.
Låt oss i detta fall anta att klientens IP är 192.168.0.4
och Memcached server IP ska vara 192.168.0.5
på ett lokalt nätverk.
Så för att tillåta fjärråtkomst av memcachad server till klientserver, kör:
sudo ufw tillåter från 192.168.0.4 till valfri port 11211
Ersätt 192.168.0.4
med din önskade klient-IP-adress.
Redigera sedan Memcached-konfigurationsfilen som finns på /etc/memcached.conf
genom att springa nano
kommando.
sudo nano /etc/memcached.conf
De memcached.conf
konfigurationsfilen öppnas med nanoredigeraren, leta efter -l 127.0.0.1
rad i konfigurationen och byt ut 127.0.0.1
med din Memcached Server IP eller i det här fallet 192.168.0.5
.
Efter byte av press ctrl+o
för att skriva till konfigurationsfilen och tryck på enter, tryck ctrl+x
för att avsluta nano.
Starta om den Memcachade servern och ufw
brandvägg genom att köra kommandot nedan.
sudo systemctl starta om memcached ufw
Nu är vi klara med installation och konfiguration av Memcached server på Ubuntu 20.04.
Ansluter till Memcached Server
För att använda Memcached-servern måste du installera en språkspecifik klient. Lyckligtvis har Memcached stöd för många populära språk.
Låt oss därför se hur man installerar php
och pytonorm
klient för Memcached.
PHP är det mest populära skriptspråket på serversidan och Memcached används mest av webbutvecklare för att förbättra serverprestanda för webbappar som drivs av PHP.
För att installera memcached support i php, springa:
sudo apt installera php-memcached
Python har också flera bibliotek som kan fungera och interagera med Memcached server som t.ex pymemcachad
eller python-memcachad
.
Du kan installera memcached för python genom att köra följande pip-kommandon:
pip installera pymemcache
pip installera python-memcached
Sammanfattningsvis har vi tittat på installation, konfiguration och några språkspecifika klienter av Memcached i Ubuntu 20.04.
Ta en titt på Memcached Wiki om du vill veta mer om mer avancerad och avancerad användning av Memcached.