Optimer din databaseydeevne ved at bruge Memcached-server med dine PHP- og Python-apps
Hvis du nogensinde har følt smerten ved høj databasebelastning, der forårsager opbremsningerne i dine web-apps og undret dig over "Er der en måde at mindske forsinkelsen forårsaget af DB-forespørgsler på?", så er svaret på det spørgsmål et stort ja. Memcached en venlig naboskabshukommelsescache-dæmon er her for at løse alle dine problemer! Caching af DB'en er en af de enkleste metoder til at lette DB-belastningen og fremskynde de dynamiske webapplikationer.
Memcached definerer sig selv som et højtydende, distribueret hukommelsesobjekt-cachesystem, generisk af natur, men oprindeligt beregnet til brug til at fremskynde dynamiske webapplikationer ved at lette databasebelastningen. Udviklet af Brad Fitzpatrick til hans hjemmeside LiveJournal i 2003.
I denne artikel vil vi se på, hvordan man installerer og konfigurerer Memcached i Ubuntu 20.04 og ser på dets sprogspecifikke klienter.
Forudsætninger
Et system installeret med Ubuntu 20.04 med en bruger med administrative rettigheder, dvs sudo
bruger.
Installation
Memcached er tilgængelig på det officielle Ubuntu 20.04-lager, udover Memcached vil vi også installere et CLI-værktøj kendt som libmemcached-værktøjer
at administrere Memcached. Bare kør følgende kommando for at installere begge
sudo apt installer memcached libmemcached-tools
Bekræft installationen
Efter installationen er færdig, starter Memcached daemon i baggrunden af sig selv. For at bekræfte installationen kan vi bruge en kommando fra libmemcached-værktøjer
pakke for at få Memcached serverstatistik. Løb enten
memcstat --servers localhost
eller
memcstat --servere 127.0.0.1
Det memcstat
kommando viser statistikken for den kørende server. Ovenstående kommando vil resultere i output vist nedenfor.
Forskellige statistikker som f.eks oppetid
på sekunder, version
og pid
vil blive vist som output. Men hvis der ikke vises noget output, er det muligt, at Memcached ikke kører. Derfor skal du køre følgende kommando for at starte Memcached-serveren.
sudo systemctl start memcached
Brug følgende kommando for at køre Memcached server ved systemstart.
sudo systemctl aktivere memcached
Konfigurerer Memcached
Hvis du har din memcached installeret på selve webstedsserveren, er der ingen grund til at ændre konfigurationsfilen, da memcached er forudkonfigureret til at arbejde med localhost.
På den anden side, hvis du har installeret Memcached på et separat system, skal du ændre konfigurationen for at give fjernserveren adgang til Memcached-serveren.
Opsætning af fjernadgang til Memcached Server
Memcached er sårbar over for DDoS-angreb (Distributed Denial of Service). Forkert firewall-regel og åbne UDP-porte vil efterlade din server åben og sårbar over for DDoS-angreb.
For at mindske risikoen kan vi enten deaktivere UDP-protokollen for Memcached i konfigurationen eller kun opsætte firewall for at tillade betroede servere.
Ud af kassen, Ubuntu leveres uden TCP- eller UDP-porte åbne. Desuden firewall-dæmonen ufw
(ukompliceret firewall) er ikke aktiveret som standard.
Vi vil aktivere firewallen og konfigurere Memcached-konfigurationen, så vi kan afbøde DDoS-sårbarheden.
Først skal du aktivere ufw
ved at køre følgende kommando:
sudo systemctl aktiver ufw
Start derefter ufw
service ved at køre nedenstående kommando:
sudo systemctl start ufw
Med firewallen kørende kan vi endelig opsætte firewallreglerne. Aktiver først port 22 for at tillade SSH-forbindelser. SSH er nødvendig for at få fjernadgang til den ønskede server.
sudo ufw tillade 22
For det andet skal du kende IP-adressen på klienten, det vil sige web-applikationsvært og IP-adressen på serveren, dvs. den Memcached-server.
Lad os i dette tilfælde antage, at klientens IP er 192.168.0.4
og Memcached server IP skal være 192.168.0.5
på et lokalt netværk.
Så for at tillade fjernadgang af memcached server til klientserver, kør:
sudo ufw tillade fra 192.168.0.4 til enhver port 11211
Udskift 192.168.0.4
med din ønskede klient IP-adresse.
Derefter skal du redigere Memcached-konfigurationsfilen, der findes på /etc/memcached.conf
ved at løbe nano
kommando.
sudo nano /etc/memcached.conf
Det memcached.conf
konfigurationsfilen åbnes med nano-editoren, se efter -l 127.0.0.1
linje i konfigurationen og udskift 127.0.0.1
med din Memcached Server IP eller i dette tilfælde 192.168.0.5
.
Efter udskiftning af pressen ctrl+o
for at skrive til konfigurationsfilen og trykke på enter, tryk ctrl+x
for at afslutte nano.
Genstart den Memcached-server og ufw
firewall ved at køre nedenstående kommando.
sudo systemctl genstart memcached ufw
Nu er vi færdige med installation og konfiguration af Memcached server på Ubuntu 20.04.
Opretter forbindelse til Memcached Server
For at bruge Memcached server skal du installere en sprogspecifik klient. Heldigvis har Memcached understøttelse af mange populære sprog.
Lad os derfor se, hvordan man installerer php
og python
klient til Memcached.
PHP er det mest populære scriptsprog på serversiden, og Memcached bruges mest af webudviklere til at forbedre serverydeevnen for webapps drevet af PHP.
For at installere memcached support i php, løb:
sudo apt installer php-memcached
Python har også flere biblioteker, der kan arbejde og interagere med Memcached server som f.eks pymemcached
eller python-memcached
.
Du kan installere memcached til python ved at køre følgende pip-kommandoer:
pip installer pymemcache
pip installer python-memcached
Afslutningsvis har vi set på installation, konfiguration og få sprogspecifikke klienter af Memcached i Ubuntu 20.04.
For at få mere at vide om mere avanceret og avanceret brug af Memcached, tag et kig på Memcached Wiki.