Оптимизирайте производителността на вашата база данни, като използвате Memcached сървър с вашите PHP и Python приложения
Ако някога сте усещали болката от високото натоварване на базата данни, което причинява забавяне на вашите уеб приложения, и сте се чудили „Има ли начин да намалите латентността, причинена от DB заявки?“, тогава отговорът на този въпрос е голямо „да“. Memcached приятелски квартален кеш демон е тук, за да разреши всичките ви проблеми! Кеширането на DB е един от най-простите методи за облекчаване на натоварването на DB и ускоряване на динамичните уеб приложения.
Memcached се определя като високопроизводителна система за кеширане на обекти с разпределена памет, генерична по природа, но първоначално предназначена за използване при ускоряване на динамични уеб приложения чрез облекчаване на натоварването на базата данни. Разработено от Брад Фицпатрик за неговия уебсайт LiveJournal през 2003 г.
В тази статия ще разгледаме как да инсталирате и конфигурирате Memcached в Ubuntu 20.04 и ще разгледаме неговите специфични за езика клиенти.
Предпоставки
Система, инсталирана с Ubuntu 20.04 с потребител с администраторски права, т.е sudo
потребител.
Инсталация
Memcached е достъпен в официалното хранилище на Ubuntu 20.04, в допълнение към Memcached, ние също ще инсталираме CLI инструмент, известен като libmemcached-инструменти
за управление на Memcached. Просто изпълнете следната команда, за да инсталирате и двете
sudo apt инсталирайте memcached libmemcached-tools
Проверете инсталацията
След като инсталацията приключи, демонът Memcached стартира на заден план сам. За да проверим инсталацията, можем да използваме команда от libmemcached-инструменти
пакет, за да получите статистика на Memcached сървъра. Или бягай
memcstat --сървъри локален хост
или
memcstat --сървъри 127.0.0.1
В memcstat
командата показва статистиката на работещия сървър. Горната команда ще доведе до изход, показан по-долу.
Различни статистики като време на работа
за секунди, версия
и pid
ще се покаже като изход. Въпреки това, ако не се покаже изход, е възможно Memcached да не работи. Следователно, трябва да изпълните следната команда, за да стартирате сървъра Memcached.
sudo systemctl стартирайте memcached
За да стартирате Memcached сървър при стартиране на системата, използвайте следната команда.
sudo systemctl активира memcached
Конфигуриране на Memcached
Ако вашият memcached е инсталиран на самия сървър на уебсайта, няма нужда да променяте конфигурационния файл, тъй като memcached е предварително конфигуриран да работи с localhost.
От друга страна, ако сте инсталирали Memcached на отделна система, ще трябва да промените конфигурацията, за да позволите на отдалечения сървър достъп до Memcached сървър.
Настройка на отдалечен достъп за Memcached сървър
Memcached е уязвим към DDoS (разпределен отказ на услуга) атаки. Неправилното правило за защитната стена и отворените UDP портове ще оставят сървъра ви отворен и уязвим за DDoS атаки.
За да смекчим риска, можем или да деактивираме UDP протокола за Memcached в конфигурация, или да настроим защитна стена само, за да разрешим доверени сървъри.
Извън кутията Ubuntu се доставя без отворени TCP или UDP портове. Освен това демонът на защитната стена ufw
(неусложнена защитна стена) не е активирана по подразбиране.
Ще активираме защитната стена и ще настроим конфигурацията на Memcached, така че да смекчим DDoS уязвимостта.
Първо, активирайте ufw
като изпълните следната команда:
sudo systemctl активиране на ufw
След това стартирайте ufw
услуга, като изпълните командата по-долу:
sudo systemctl стартиране ufw
Когато защитната стена работи, най-накрая можем да настроим правилата на защитната стена. Първо, активирайте порт 22, за да разрешите SSH връзки. SSH е необходим за отдалечен достъп до желания сървър.
sudo ufw разреши 22
Второ, трябва да знаете IP адреса на клиента, който е хост на уеб приложение и IP адреса на сървъра, който е сървърът Memcached.
В този случай нека приемем, че IP адресът на клиента е 192.168.0.4
и Memcached IP сървъра да бъде 192.168.0.5
в локална мрежа.
Така че, за да разрешите отдалечен достъп на memcached сървър до клиентски сървър, изпълнете:
sudo ufw позволява от 192.168.0.4 до всеки порт 11211
Заменете 192.168.0.4
с желания от вас IP адрес на клиента.
След това редактирайте конфигурационния файл на Memcached, който се намира на адрес /etc/memcached.conf
чрез бягане нано
команда.
sudo nano /etc/memcached.conf
В memcached.conf
конфигурационен файл ще се отвори с nano редактора, потърсете -l 127.0.0.1
ред в конфигурацията и сменете 127.0.0.1
с вашия Memcached сървър IP или в този случай 192.168.0.5
.
След смяна на преса ctrl+o
за да запишете в конфигурационния файл и натиснете Enter, натиснете ctrl+x
за да излезете от nano.
Рестартирайте сървъра Memcached и ufw
защитна стена, като изпълните командата по-долу.
sudo systemctl рестартирайте memcached ufw
Сега приключихме с инсталирането и конфигурирането на сървъра Memcached на Ubuntu 20.04.
Свързване към Memcached сървър
За да използвате Memcached сървър, ще трябва да инсталирате специфичен за език клиент. За щастие, Memcached има поддръжка за много популярни езици.
Така че нека видим как да инсталираме php
и python
клиент за Memcached.
PHP е най-популярният скриптов език от страна на сървъра и Memcached се използва предимно от уеб разработчици за подобряване на производителността на сървъра на уеб приложения, задвижвани от PHP.
За да инсталирате поддръжка на memcached в php, бягай:
sudo apt инсталирайте php-memcached
Python също има няколко библиотеки, които могат да работят и взаимодействат с Memcached сървър, като напр pymemcached
или python-memcached
.
Можете да инсталирате memcached за python, като изпълните следните команди pip:
pip инсталирайте pymemcache
pip инсталирайте python-memcached
В заключение разгледахме инсталацията, конфигурацията и няколко специфични за езика клиенти на Memcached в Ubuntu 20.04.
За да научите по-подробно и разширено използване на Memcached, разгледайте Memcached Wiki.