Magento je rýchly, ale pri každom vytvorení a načítaní stránky Magento sa na CPU servera vykonajú miliardy inštrukcií a spotrebúvajú sa pamäťové zdroje. Na zaneprázdnenom serveri to môže viesť k pomalému načítaniu stránok a nedostatočným zdrojom na rýchle obsluhovanie každej stránky.
Riešením je ukladanie do vyrovnávacej pamäte. Keď sa stránky – alebo časti stránok – ukladajú do vyrovnávacej pamäte, namiesto toho, aby sa znova vytvárali zakaždým, keď používateľ požiada o novú stránku, sú obsluhované z vyrovnávacej pamäte. Vyrovnávacie pamäte ukladajú produkt predchádzajúcich verzií stránok, takže keď je prijatá požiadavka na rovnakú stránku, môže byť doručená verzia uložená vo vyrovnávacej pamäti. Ukladanie do vyrovnávacej pamäte zvyšuje rýchlosť odosielania stránok používateľom a zároveň znižuje zaťaženie servera.
Aj keď má Magento zabudovanú pokročilú technológiu ukladania do vyrovnávacej pamäte, často je lepšie presunúť réžiu ukladania do vyrovnávacej pamäte do samostatnej vyhradenej aplikácie. V tomto článku by som sa rád pozrel na jednu možnosť externého ukladania do vyrovnávacej pamäte: reverzný proxy server ukladania do vyrovnávacej pamäte.
Po prvé, čo je to reverzný proxy? Proxy je server, ktorý stojí medzi klientmi (v tomto prípade zvyčajne webovým prehliadačom) a inými servermi. Prijíma požiadavky od klientov a odosiela požiadavky na iné servery. Proxy v podstate sprostredkúva komunikáciu medzi klientom a ostatnými časťami siete.
Reverzný proxy je špecifický typ proxy servera. Prijíma požiadavky v mene jedného alebo viacerých serverov, odovzdáva tieto požiadavky serverom a odovzdáva údaje vrátené týmito servermi späť klientovi. V tomto prípade sú servermi Magento servery a klientmi sú webové prehliadače. Za typy reverzného proxy možno považovať aj firewall alebo load balancer.
Teraz k zaujímavej časti. Pretože reverzný proxy stojí medzi klientom a serverom, môže sprostredkovať tok údajov medzi nimi. Takže cachovací reverzný proxy, ktorý sa nachádza medzi webovým prehliadačom a inštaláciou Magento, dokáže uložiť do vyrovnávacej pamäte niektoré stránky vytvorené Magentom a vrátiť ich do prehliadača bez toho, aby aplikácia Magento musela čokoľvek robiť. Reverzné servery proxy na ukladanie do vyrovnávacej pamäte tohto typu sú zo zrejmých dôvodov známe aj ako webové akcelerátory.
Typickým príkladom cachovacieho reverzného proxy servera používaného s Magento je Lak. Varnish sám osebe nefunguje zvlášť dobre s Magento, ale vytvorili sme doplnok Magento s názvom Turpentine, ktorý zlepšuje integráciu Magento / Varnish.
Treba spomenúť, že nie všetko sa dá uložiť do vyrovnávacej pamäte. Väčšina základných skúseností s elektronickým obchodom je nevyhnutne dynamická – napríklad nákupný košík. Proxy s reverzným ukladaním do vyrovnávacej pamäte nemôže urobiť veľa na urýchlenie týchto operácií. Môže však zlepšiť výkon na produktových stránkach a iných v podstate statických zdrojoch. Môže tiež znížiť bremeno generovania týchto stránok, takže je k dispozícii viac zdrojov pre časti procesu elektronického obchodu, ktoré sa musia generovať v čase vyžiadania.
Výsledkom je efektívnejšie využitie zdrojov a pohotovejšie rozhrania nákupného košíka a administrácie, keď je obchod Magento pod veľkou záťažou.