Memcache je vysoko výkonný systém na ukladanie objektov do pamäte, vyvíjaný najmä pre zvýšenie škáľovateľnosti dynamických webových aplikácii so zámerom znížiť záťaž na databázu a súborový systém. Jeho výkon sa najlepšie prejavuje pri veľkých počtoch súbežných načítani objektu vďaka flexibilnému systému prístupu k pamäti .
Vo väčšine prípadov sú prístupy k disku najčastejšim miestom, kde dochádza k spomaleniu aplikácie najmä pokiaľ sa jedná o aplikáciu náročnejšiu na SQL databázu.
Po dokončeni krokov v návode bude na Vašom servery ukladané sessions do memcache a memcache backend bude dostupný pre cachovanie v rámci Vašej aplikácie.
Návod na inštaláciu Memcache na virtuálny server
Tip: Pred použitím návodu odporúčame znalosť a základný prehľad o inštalácií balíkov na server a upravovanie konfigurácie cez konzolu.
1. Inštalácia balíčkov pre Memcache
– Pre operačný systém Ubuntu a Debian sú balíčky v repozitároch a je ich možné nainštalovať pomocou
apt-get install memcached php5-memcached
– Pre ostatné operačné systémy využite ich balíčkovací systém (yum , emerge.. )
2. Po jeho inštalácii je možné memcache riadiť pomocou:
service memcache {start,stop, restart,status}
Konfigurácia memcache servera je umiestnená v /etc/memcached.conf , môžete ju upraviť
pomocou editora nano alebo vim
nano /etc/memcached.conf
3. Základné parametre, ktoré Vás zaujímajú
-m 64 Koľko megabajtov pamäte môže memcache maximálne použiť.
-l 127.0.0.1 IP adresa pre pristup, pokial je 127.0.0.1 , pristup je možný iba zo servera.
(pomocou skratky ctrl+ o súbor uložíte , ctrl+ x editor nano ukončí)
Pre použitie memcached v PHP slúži extension memcached . V rámci Ubuntu, Debian je v samostatnom balíčku
apt-get install php5memcache
Aby sa ukladali pre celý server sessions do memcache, nastavíme memcache ako štandardný session handler. Docielime to úpravou nastaveni v php.ini
nano /etc/apache2/php5/php.ini
Požadované nastavenia sú v sekcií [Session] , nájdeme ju cez ctrl+w a upravíme riadky
session.save_handler = files zamenime za session.save_handler = memcached
session.save_path = “127.0.0.1:11211”
Ďalej môže byť potrebné nastaviť miesto pre ukladanie sessions aj v rámci Vašej aplikácie. Konzultujte nastavenie s dokumentáciou, pripadne priamo s dodávateľom aplikácie.
Úložisko pre sessions je možné upravovať aj špecificky pre adresár či web úpravou súboru .htaccess v koreňovom priečinku webu, štandartne
/data/web/domena.tld/.htaccess
Direktívy su rovnaké ako v php.ini