Memcached je vysoce výkonný systém na ukládání objektů do paměti, vyvíjený zejména pro zvýšení škálovatelnosti dynamických webových aplikací se záměrem snížit zátěž na databázi a souborový systém. Jeho výkon se nejlépe projevuje při velkých počtech souběžných načítání objektu díky flexibilnímu systému přístupu k paměti.
Ve většině případů jsou přístupy k disku nejčastějším místem, kde dochází ke zpomalení aplikace, zejména pokud se jedná o aplikaci náročnější na SQL databázi.
Po dokončeni kroků v návodu bude na Vašem serveru ukládané sessions do memcache a memcache backend bude dostupný pro cachovanie v rámci Vaší aplikace.
Návod na instalaci Memcached na virtuální server
Tip: Před použitím návodu doporučujeme znalost a základný přehled o instalaci balíčků na server a upravování konfigurace přes konzoli.
1. Aktualizace repozitářů a instalace aktualizací balíčků
sudo apt-get update -y apt-get upgrade -y
Pro operační systém Ubuntu 18.04 LTS jsou balíčky v repozitářích a jdou nainstalovat pomocí
2. Instalace balíčků pro Memcached
Pro operační systém Ubuntu 18.04 LTS jsou balíčky v repozitářích a jdou nainstalovat pomocí
sudo apt-get install memcached libmemcached-tools -y
3. Po instalaci je možné Memcached spustit a přidat do automatického spouštění po startu systému
sudo systemctl start memcached
sudo systemctl enable memcached
4. Stav Memcached můžete zkontrolovat příkazem
systemctl status memcached
5. Změna nastavení
Konfigurace Memcached se nachází v souboru /etc/memcached.conf
ve ktorém můžete upravit parametry podle vašich potřeb. Mezi nejčastější úpravy patří.
Změna standardního portu 11211 na jiný
-p 11211
IP adresa na které je Memcached provozovaný. Nastavovat jinou než lokální (127.0.0.1) doporučujeme jen v případě, že k Memcached je nutné přistupovat z jiného serveru
-l 192.168.0.10
Definuje maximální velikost paměti, kterou má Memcached k dispozici
-m 256
Po upravení a uložení konfigurace ve vašem oblíbeném editoru je nutné Memcached restartovat, aby se nové nastavení projevilo
sudo systemctl restart memcached
Instalace Apache a PHP a jejich konfigurace s Memcached
Pokud chcete používat Memcached v kombinaci s webovým serverem Apache a PHP, je nutné pro něj nainstalovat modul.
Tip: Ubuntu 18.04 LTS používá PHP ve verzi 7.2. V případě, že chcete mít jinou verzi PHP například z repozitáře třetí strany, tak musí tento modul obsahovat.
1. Návod na instalaci Apache2, PHP a modulu Memcached
sudo apt-get install apache2 php7.2 libapache2-mod-php7.2 php-memcached php7.2-cli -y
2. Restart služeb
sudo systemctl restart apache2
3. Kontrola nastavení
Funkčnost je možné prověřit pomocí funkce phpinfo
Vytvořte soubor phpinfo.php
sudo nano /var/www/html/phpinfo.php
přidejte
<?php
(
phpinfo);
Uložte soubor a otevřete webový prohlížeč na adrese http://ip-vaseho-serveru/phpinfo.php
– na webe vyhledejte část s memcached
Ukládání sezení (sessions) do Memcached
Ve standardní konfiguraci PHP ukládá sezení do souborů, což u webů s vysokou návštěvností může být problém a je vhodné používat namísto nich Memcached.
V souboru /etc/php/7.2/apache2/php.ini
změnte
session.save_handler = files
na
session.save_handler = memcached
Restartujte webový server Apache2 příkazem
sudo systemctl restart apache2
Změna se projeví i na výpisu funkce phpinfo
(viz. výše).