I-optimize ang pagganap ng iyong database sa pamamagitan ng paggamit ng Memcached server sa iyong PHP at Python apps
Kung naramdaman mo na ang sakit ng mataas na pag-load ng Database na nagdudulot ng mga pagbagal sa iyong mga web-app at nag-iisip na "May paraan ba para bawasan ang latency na dulot ng mga query sa DB?", kung gayon ang sagot sa tanong na iyon ay isang malaking oo. Ang Memcached isang friendly neighborhood memory cache daemon ay narito upang lutasin ang lahat ng iyong mga problema! Ang pag-cache ng DB ay isa sa mga pinakasimpleng paraan upang maibsan ang pag-load ng DB at mapabilis ang mga dynamic na web application.
Tinutukoy ng Memcached ang sarili nito bilang high-performance, distributed memory object caching system, generic sa kalikasan, ngunit orihinal na nilayon para gamitin sa pagpapabilis ng mga dynamic na web application sa pamamagitan ng pagpapagaan ng pag-load ng database. Binuo ni Brad Fitzpatrick para sa kanyang website na LiveJournal noong 2003.
Sa artikulong ito, titingnan natin kung paano i-install at i-configure ang Memcached sa Ubuntu 20.04 at titingnan ang mga kliyenteng partikular sa wika nito.
Mga kinakailangan
Isang system na naka-install sa Ubuntu 20.04 na may gumagamit na may mga karapatang pang-administratibo, iyon ay sudo
gumagamit.
Pag-install
Available ang Memcached sa opisyal na repositoryo ng Ubuntu 20.04, bilang karagdagan sa Memcached, mag-i-install din kami ng CLI tool na kilala bilang libmemcached-tools
upang pamahalaan ang Memcached. Patakbuhin lamang ang sumusunod na command upang mai-install ang pareho
sudo apt install memcached libmemcached-tools
I-verify ang Pag-install
Matapos makumpleto ang pag-install, ang Memcached daemon ay magsisimula sa background nang mag-isa. Upang i-verify ang pag-install, maaari kaming gumamit ng command mula sa libmemcached-tools
package para makakuha ng Memcached server stats. Alinman sa tumakbo
memcstat --servers localhost
o
memcstat --servers 127.0.0.1
Ang memcstat
Ipinapakita ng command ang mga istatistika ng pagpapatakbo ng server. Ang utos sa itaas ay magreresulta sa output na ipinapakita sa ibaba.
Iba't ibang mga istatistika tulad ng uptime
sa ilang mga segundo, bersyon
at pid
ay ipapakita bilang output. Gayunpaman, kung walang ipinapakitang output, posibleng hindi tumatakbo ang Memcached. Samakatuwid, dapat mong patakbuhin ang sumusunod na command upang simulan ang Memcached server.
sudo systemctl simulan ang memcached
Upang patakbuhin ang Memcached server sa system startup gamitin ang sumusunod na command.
sudo systemctl paganahin ang memcached
Pag-configure ng Memcached
Kung na-install mo ang iyong memcached sa mismong server ng website, hindi na kailangang baguhin ang configuration file dahil ang memcached ay na-preconfigure upang gumana sa localhost.
Sa kabilang banda, kung na-install mo ang Memcached sa isang hiwalay na sistema, kakailanganin mong baguhin ang configuration upang payagan ang malayuang server ng access sa Memcached server.
Pagse-set up ng Remote Access para sa Memcached Server
Ang Memcached ay mahina sa mga pag-atake ng DDoS (Distributed Denial of Service). Ang maling panuntunan sa firewall at mga bukas na UDP port ay mag-iiwan sa iyong server na bukas at mahina sa mga pag-atake ng DDoS.
Para mabawasan ang panganib, maaari naming i-disable ang UDP protocol para sa Memcached sa configuration o mag-set up ng firewall para lang payagan ang mga pinagkakatiwalaang server.
Out of the box, nagpapadala ang Ubuntu na walang bukas na TCP o UDP port. Higit pa rito, ang firewall daemon ufw
(hindi kumplikadong Firewall) ay hindi pinagana bilang default.
Paganahin namin ang firewall at ise-set up ang pagsasaayos ng Memcached upang mapagaan namin ang kahinaan ng DDoS.
Una, paganahin ang ufw
sa pamamagitan ng pagpapatakbo ng sumusunod na command:
sudo systemctl paganahin ang ufw
Pagkatapos ay simulan ang ufw
serbisyo sa pamamagitan ng pagpapatakbo ng utos sa ibaba:
sudo systemctl simulan ang ufw
Sa pagpapatakbo ng Firewall, maaari na nating i-set up ang mga panuntunan sa firewall. Una, paganahin ang port 22 upang payagan ang mga koneksyon sa SSH. Ang SSH ay kinakailangan upang malayuang ma-access ang nais na server.
sudo ufw allow 22
Pangalawa, kailangan mong malaman ang IP address ng kliyente, iyon ay web-application host at IP address ng server, iyon ay ang Memcached server.
Sa pagkakataong ito, ipagpalagay natin na ang Client IP ay 192.168.0.4
at Memcached server IP na 192.168.0.5
sa isang lokal na network.
Kaya upang payagan ang malayuang pag-access ng memcached server sa client server, patakbuhin ang:
sudo ufw allow from 192.168.0.4 to any port 11211
Palitan ANG 192.168.0.4
gamit ang iyong nais na Client IP address.
Susunod, i-edit ang Memcached configuration file na matatagpuan sa /etc/memcached.conf
sa pamamagitan ng pagtakbo nano
utos.
sudo nano /etc/memcached.conf
Ang memcached.conf
magbubukas ang configuration file gamit ang nano editor, hanapin ang -l 127.0.0.1
linya sa pagsasaayos at palitan 127.0.0.1
gamit ang iyong Memcached Server IP o sa pagkakataong ito 192.168.0.5
.
Pagkatapos palitan ang pindutin ctrl+o
para sumulat sa configuration file at pindutin ang enter, pindutin ctrl+x
upang lumabas sa nano.
I-restart ang Memcached server at ufw
firewall sa pamamagitan ng pagpapatakbo ng command sa ibaba.
sudo systemctl i-restart ang memcached ufw
Ngayon ay tapos na kami sa pag-install at pagsasaayos ng Memcached server sa Ubuntu 20.04.
Kumokonekta sa Memcached Server
Upang magamit ang server ng Memcached, kakailanganin mong mag-install ng client na tukoy sa wika. Sa kabutihang palad, ang Memcached ay may suporta para sa maraming sikat na wika.
Kaya tingnan natin kung paano i-install php
at sawa
kliyente para sa Memcached.
Ang PHP ay ang pinakasikat na server-side scripting language at ang Memcached ay kadalasang ginagamit ng mga web developer upang mapabuti ang pagganap ng server ng mga web app na pinapagana ng PHP.
Upang mag-install ng memcached na suporta sa php, tumakbo:
sudo apt install php-memcached
Ang Python ay mayroon ding ilang mga aklatan na maaaring gumana at makipag-ugnayan sa Memcached server tulad ng pymemcached
o python-memcached
.
Maaari kang mag-install ng memcached para sa python sa pamamagitan ng pagpapatakbo ng mga sumusunod na pip command:
pip install pymemcache
pip install python-memcached
Sa konklusyon, tiningnan namin ang pag-install, pagsasaayos at ilang partikular na wika na kliyente ng Memcached sa Ubuntu 20.04.
Upang malaman ang higit pang malikot at advanced na paggamit ng Memcached, tingnan ang Memcached Wiki.