Přejít k hlavnímu obsahu

Drupal Boost

Drupal je populární a rozšířený CMS, na kterém se dají vystavět velké a složité weby. Každý, kdo pracoval na nějakém komplexnějším webu, asi zjistil, že čím víc je web složitější, tím odezva pomalejší. Drupal je v základu vybaven jednoduchých cachováním. Toto cachování je pro jednoduché weby obvykle dostačující. Avšak u složitějších webů nemusí toto řešení stačit. V mnoha případech se ani nemusí jednat o extrémně složitý web a člověk může s rychlostí narazit. Typickým příkladem je Drupal na sdíleném hostingu. Zde přichází na scénu Drupal Boost.

Drupal Boost je modul do Drupalu, který lze stáhnout https://www.drupal.org/project/boost. Tento modul umožňuje po relativně jednoduchém nastavení statické cachování Drupalu pro anonymní uživatele. Celý princip je v zásadě velice jednoduchý. Následují obrázek naznačuje, jak to celé funguje.

Drupal Boost - pricip

Drupal Boost - princip

Z předchozího obrázku je vidět, že když přijde request na server, který splňuje určité podmínky, tak se zcela přeskočí přístup do Drupalu a provádění jednotlivých php skriptů a přístupů do DB. Pouze se vrátí statický soubor, pokud existuje. Tento statický soubor se vygeneruje při prvním přístupu na danou stránku a poté už je vracen všem ostatním, kteří si prohlíží danou stránku. Vhledem k popsanému principu je jasné, že takové cachování je použitelné pouze pro anonymní uživatele.

Nabízí se otázka, když se vrací statický soubor, co se stane když se upraví obsah stránky? V Boostu lze v základu nastavit, po jaké době má cache expirovat. Možnosti jsou od 1 minuty až po 12 měsíců. Toto nastavení stačí u webů, kde se obsah mění minimálně, ale pokud na webu přibývá několik příspěvků denně, nemusí být tyto nastavení dostatečné. Je totiž celkem zbytečné expirovat cache u všech stránek několikrát denně jen proto, že se změnily například 3 stránky.

Pokročilejší možnosti expirace Boost cache nabízí modul Cache Expiration, který je dostupný ke stažení zde https://www.drupal.org/project/expire. Tento modul umožňuje nastavit například expirace cache u daného nodu, pokud nastane nějaká akce. Příklad akce je úprava nodu, vložení nodu atd. Spolu s expirací nodu, je možnost nastavit další stránky, které s danou akcí mají expirovat (například homepage či nějaké konkrétní URL).

Samotná instalace a správné nastavení Boost modulu je velice pěkně popsané v dokumentaci https://www.drupal.org/node/1459690. Praktickou ukázku rozchození Boostu na Drupalu si ukážeme v nějakém z dalších příspěvků.

 

Chci vědět víc o Drupalu!