Rychlost načítání a optimalizace výkonu

Magento je relativně náročné na kvalitní hosting s dostatečnými systémovými prostředky. Není divu, jde o robustní enterprise framework. Pro jednoproduktový eshop s minimem modulů nad rámec základní instalace může šlapat jak hodinky často i na sdíleném hostingu. S vícero produkty, atributy, customizací jádra, složitější šablonou nebo po nasazení pár rozšíření se však může rychlost načítání stránek stát brzy noční můrou provozovatele eshopu. A to je chvíle, kdy mohu pomoci se svými více než 6 lety zkušeností s Magentem.

Pracoval jsem jako IT specialista v bankovním sektoru a kontaktních centerech, kde je rychlost odezvy serverů zásadním faktorem pro úspěšné odbavení požadavků zákazníků. Spravoval jsem linuxové servery, databáze, webservery i telefonní ústředny a naučil jsem se díky tomu opravdu mnoho. V PHP programuji už více než 10 let, MySQL znám velmi dobře, stejně tak Apache a Nginx. Jsem schopen najít optimální řešení na úrovni fyzického i aplikačního serveru.

K tomu mám však ještě mnoho let praxe s vývojem a správou desítek internetových obchodů na platformě Magento. A jednou ze stěžejních oblastí mé práce je právě Magento performance neboli optimalizace výkonu a rychlosti odezvy Magento eshopu.

Pomohu Vám zrychlit Magento eshop

Jsem schopen analyzovat internetový obchod na úrovni hostingu a jeho konfigurace, nastavení Magenta, možností kešování i kompilace a identifikovat úzké hrdlo v čase, kdy prohlížeč čeká na odezvu serveru. Umím navrhnout optimální řešení hostingu pro Váš projekt tak, abyste zaplatili jen tolik, kolik je skutečně potřeba a přitom získali maximální výkon a ideální rychlost odezvy.

Ve druhé úrovni pak analyzuji nasazenou Magento šablonu a grafiku, kde je vždy dost prostoru pro další optimalizace (např. komprese obrázků, javascriptů, kaskádových stylů a jejich spojování pro menší počet HTTP dotazů). Kromě šablony reviduji i veškerá rožšíření nad rámec instalace Magenta a možnosti jejich customizace a konfigurace tak, aby byla odezva eshopu co nejlepší.

Příklady úspěšných optimalizací rychlosti odezvy

Na projektu Škubánkov.cz, který se spustí už v únoru 2017, jsem docílil úpravou interní funkčnosti Magenta pro Configurable Swatches úspory téměř 10 vteřin. Stránky kategorie produktů, která obsahovala mnoho konfigurovatelných atributů navíc zobrazovaných v grafické podobě (což právě řeší Configurable Swatches), se načítaly cca 13,5 vteřiny a po mém zásahu došlo k redukci na 4 sekundy. Kromě úprav problematické funkcionality jsem navíc navrhnul řešení hostingu, které umožňuje vlastní nastavení MySQL databáze pro optimální kešování SQL dotazů a rychlou odezvu databáze z operační paměti namísto neustálého čtení z pevného disku (ten byl mimochodem z klasického nahrazen za SSD).

Na projektu Růsťák.cz, což je můj vlastní internetový obchod, jsem dosáhl na sdíleném a relativně levném hostingu odezvy kolem necelé 1 vteřiny. Optimalizace spočívala v nastavení komplikace, minifikace a mergování JS/CSS souborů, komprese výstupu webserveru a všech obrázků, nahrazení některých modulů za úpravu grafické šablony Magenta (menší režie pro procesor i paměť) atd. Díky těmto úpravám jsem se dostal na hostingu za 169 Kč měsíčně ze 3 vteřin na 1 vteřinu odezvy serveru (počítáno bez zanedbatelného času na stažení obsahu při prvním načtení stránky).

Magento 1.9.x na PHP 7 není nemožné

Ačkoliv je Magento 1.9.x dle oficiální dokumentace možné provozovat výhradně na PHP 5 (5.4, 5.5), tak přechod na PHP 7 není u projektů postavených nad Magentem 1.9 výjimkou. A rozdíl v rychlosti je mezi PHP 5.5 a 7 ohromný – sedmička je mnohdy třikrát i čtyřikrát rychlejší než pětkové verze. Stačí využít komunitní podporu, patche od Inchoo a provést pár drobných úprav (zejména v souboru app/code/core/Mage/Core/Model/Layout.php) a je to hotové. Pak už stačí proskenovat kód třetích stran v podobě customizací a rozšíření (modulů) na podporu PHP 7.

Jsem připraven analyzovat náročnost a možnosti přechodu Vašeho eshopu postaveného na Magento 1.9 na hosting s PHP 7, což by mělo urychlit odezvu serveru o další cenné milisekundy. Analyzuji možnost nasazení komunitního patche, zdrojové kódy třetích stran a celkovou kondici eshopu. Poté navrhuji vhodný hosting a jeho konfiguraci. Vždy volím takový Magento hosting, který disponuje nejen PHP 7, ale také plnými SSH přístupy, možností práce s Composerem, Git verzování, Memcached a další moderní technologie vhodné pro rychlé načítání stránek eshopu.