Optimaliser databaseytelsen din ved å bruke Memcached-server med PHP- og Python-appene dine
Hvis du noen gang har følt smerten av høy databasebelastning som forårsaker nedgangen i nettappene dine og lurt på "Er det en måte å redusere ventetiden forårsaket av DB-spørringer på?", så er svaret på det spørsmålet et stort ja. Memcached en vennlig nabolagsminne-cache-demon er her for å løse alle plagene dine! Bufring av DB er en av de enkleste metodene for å redusere DB-belastningen og øke hastigheten på de dynamiske webapplikasjonene.
Memcached definerer seg selv som høyytelses distribuert minneobjektbufringssystem, generisk av natur, men opprinnelig ment for bruk for å øke hastigheten på dynamiske webapplikasjoner ved å lindre databasebelastning. Utviklet av Brad Fitzpatrick for nettstedet hans LiveJournal i 2003.
I denne artikkelen vil vi se på hvordan du installerer og konfigurerer Memcached i Ubuntu 20.04 og ser på språkspesifikke klienter.
Forutsetninger
Et system installert med Ubuntu 20.04 med en bruker med administrative rettigheter, det vil si en sudo
bruker.
Installasjon
Memcached er tilgjengelig på det offisielle Ubuntu 20.04-depotet, i tillegg til Memcached skal vi også installere et CLI-verktøy kjent som libmemcached-verktøy
å administrere Memcached. Bare kjør følgende kommando for å installere begge
sudo apt installer memcached libmemcached-tools
Bekreft installasjonen
Etter at installasjonen er fullført, starter Memcached daemon i bakgrunnen av seg selv. For å bekrefte installasjonen kan vi bruke en kommando fra libmemcached-verktøy
pakke for å få Memcached serverstatistikk. Enten løp
memcstat --servers localhost
eller
memcstat --servere 127.0.0.1
De memcstat
kommandoen viser statistikken for kjørende server. Kommandoen ovenfor vil resultere i utdata vist nedenfor.
Ulike statistikker som f.eks oppetid
på sekunder, versjon
og pid
vil vises som utdata. Men hvis ingen utdata vises, er det mulig at Memcached ikke kjører. Derfor må du kjøre følgende kommando for å starte Memcached-serveren.
sudo systemctl start memcached
For å kjøre Memcached server ved systemoppstart, bruk følgende kommando.
sudo systemctl aktiver memcached
Konfigurerer Memcached
Hvis du har din memcached installert på selve nettsideserveren, er det ikke nødvendig å endre konfigurasjonsfilen da memcached er forhåndskonfigurert til å fungere med localhost.
På den annen side, hvis du har installert Memcached på et eget system, må du endre konfigurasjonen for å gi den eksterne serveren tilgang til Memcached-serveren.
Sette opp ekstern tilgang for Memcached Server
Memcached er sårbar for DDoS-angrep (Distributed Denial of Service). Feil brannmurregel og åpne UDP-porter vil gjøre serveren din åpen og sårbar for DDoS-angrep.
For å redusere risikoen kan vi enten deaktivere UDP-protokollen for Memcached i konfigurasjonen eller sette opp brannmur bare for å tillate pålitelige servere.
Ut av esken, Ubuntu leveres uten TCP- eller UDP-porter åpne. Videre brannmurdemonen ufw
(ukomplisert brannmur) er ikke aktivert som standard.
Vi skal aktivere brannmuren og sette opp Memcached-konfigurasjonen slik at vi kan redusere DDoS-sårbarheten.
Først må du aktivere ufw
ved å kjøre følgende kommando:
sudo systemctl aktiver ufw
Start deretter ufw
tjeneste ved å kjøre kommandoen nedenfor:
sudo systemctl start ufw
Når brannmuren kjører, kan vi endelig sette opp brannmurreglene. Først, aktiver port 22 for å tillate SSH-tilkoblinger. SSH er nødvendig for å få ekstern tilgang til ønsket server.
sudo ufw tillat 22
For det andre må du vite IP-adressen til klienten, det vil si web-applikasjonsverten og IP-adressen til serveren, det vil si den Memcached-serveren.
I dette tilfellet, la oss anta at klientens IP er 192.168.0.4
og Memcached server IP skal være 192.168.0.5
på et lokalt nettverk.
Så for å tillate ekstern tilgang fra memcached server til klientserver, kjør:
sudo ufw tillat fra 192.168.0.4 til hvilken som helst port 11211
Bytt ut 192.168.0.4
med ønsket klient-IP-adresse.
Deretter redigerer du Memcached-konfigurasjonsfilen som ligger på /etc/memcached.conf
ved å løpe nano
kommando.
sudo nano /etc/memcached.conf
De memcached.conf
konfigurasjonsfilen åpnes med nano-editoren, se etter -l 127.0.0.1
linje i konfigurasjonen og erstatt 127.0.0.1
med din Memcached Server IP eller i dette tilfellet 192.168.0.5
.
Etter å ha skiftet trykk ctrl+o
for å skrive til konfigurasjonsfilen og trykke enter, trykk ctrl+x
for å avslutte nano.
Start Memcached-serveren på nytt og ufw
brannmur ved å kjøre kommandoen nedenfor.
sudo systemctl restart memcached ufw
Nå er vi ferdige med installasjon og konfigurasjon av Memcached server på Ubuntu 20.04.
Kobler til Memcached Server
For å bruke Memcached server, må du installere en språkspesifikk klient. Heldigvis har Memcached støtte for mange populære språk.
La oss derfor se hvordan du installerer php
og python
klient for Memcached.
PHP er det mest populære skriptspråket på serversiden, og Memcached brukes mest av webutviklere for å forbedre serverytelsen til nettapper drevet av PHP.
For å installere memcached-støtte i php, løpe:
sudo apt installer php-memcached
Python har også flere biblioteker som kan fungere og samhandle med Memcached server som f.eks pymemcached
eller python-memcached
.
Du kan installere memcached for python ved å kjøre følgende pip-kommandoer:
pip installer pymemcache
pip installer python-memcached
Avslutningsvis har vi sett på installasjon, konfigurasjon og få språkspesifikke klienter til Memcached i Ubuntu 20.04.
For å finne ut mer finurlig og avansert bruk av Memcached, ta en titt på Memcached Wiki.