Jak jsme zvládli čelit raketovému růstu, který způsobila reklamní kampaň
E-shop musí fungovat jako hodinky bez ohledu na to, zda zákazník má, nebo nemá nápor na stránce. Žádná zpomalení, žádné výpadky, nic podobného, co by ohrožovalo business výsledky online prodeje. A takový je e-shop Dedoles, postavený na CMS BUXUS powered by ui42. Je to dlouhodobý cíl naší spolupráce, zvláště zvýrazněný v době probíhající úspěšné kampaně.

Hlavní výzvy
Po spuštění nadlinkové kampaně:
- Připravit web na očekávaný nárůst počtu návštěvníků a transakcí
- Zajistit rychlost reakcí na stránce
- Zajistit vyšší stabilitu webu
- Neovlivnit pohodlí nákupu v ostatních 15 zemích
- Zjednotit identitu stránky s aktuální kampaní
Čísla nepustí
Slovensko
Uživatelé YoY

Zobrazení stránky YoY
S extrémní zátěží webu
při téměř 200% nárůstu uživatelů na webu jsme dokázali udržet, dokonce o něco vylepšit rychlost webu.
Transakce YoY

Jak jsme se připravili
Agilní vývoj
Nic z toho, co se nám dosud podařilo dosáhnout by nebylo možné, kdybychom k projektům nepřistupovali agilní metodou, která je synonymem pro úspěšný vývoj projektu. Proto když Dedoles přišel s informací, že očekává na webu větší návštěvnost, pružně jsme dokázali reagovat na změnu i díky naší týmové spolupráci, otevřené komunikaci a v neposlední řadě zapojení klienta do procesu.
Servery
Servery využíváme od společnosti VSHosting. Na CMS BUXUS víme zapnout několik serverů najednou. V případě webů Dedoles jich máme až 10 - 2 loadbalancery, 5 web workerů a 3 databázové. Všechny servery jsou minimálně 32 jádrové s 128GB RAM.
Testování zátěže
Testování zátěže jsme realizovali ve dvou fázích.
První fáze byla jednoduchá. Testovali jsme několik jednoduchých požadavků, zda je server setup schopen obsloužit současně. Na to jsme používali Apache Bench a JMeter. Takové testování může odhalit slabá místa v síťové infrastruktuře. Naopak, neumí odhalit slabá místa v aplikační logice, protože většinu požadavků obslouží varnish.
Proto na řadu přišla druhá fáze, která představovala komplexní testování zátěže simulací nákupů přes JMeter. Toto testování spouští kompletní scénář nákupu zákazníka - projde přes kategorii, detail produktu, vložení do košíku, přes celý nákupní proces až po potvrzení objednávky. Tyto scénáře se následně spouštějí paralelně, abychom zjistili, kolik takovýchto kompletních scénářů stihne systém vyřídit za sledovaný čas a zda všechny doběhnou korektně.
Testování výkonu přes scénáře nám pomohlo odhalit úzká hrdla systému pod reálnou zátěží.
Optimalizace rychlosti
Prioritou je vždy zákazník, kterému je potřeba zajistit stejný uživatelský zážitek, ať se na stránce nachází sám nebo nakupují stovky dalších lidí současně. Proto jsme na backendu v první řadě optimalizovali výkon přes varnish, který nám cachováním celých stránek ušetřil mnoho výkonu. I stránky, které běžně přes varnish cachované nejsou (např. košík) mají některé části (např. Header nebo footer) nahrávané přes varnish. Druhou důležitou rychlostní optimalizací backendu je maximální využití asynchronního zpracování úkolů přes fronty: úkoly spojené se zpracováním objednávek, invalidace cache, generování feedů a pod.
Stejnou pozornost je třeba věnovat i frontendu. Na frontendu využíváme CDN pro veškerý statický obsah (obrázky a videa) a také automaticky konvertujeme obrázky na webp formát. Javascripty nahráváme přes AMD moduly, což nám dovoluje bundlovat potřebné JS soubory do vrstev a tak zrychlit nahrávání JS. Ve spojení s varnishem také cachujeme některé dynamické části stránky v local storage klientů.
Cms BUXUS
V neposlední řadě by výše uvedené nebylo možné realizovat, kdybychom neměli silný a stabilní redakční systém BUXUS, který takové náročné požadavky dokáže zvládnout.

Kvalitu webů a jejich připravenost hodnotíme velmi pozitivně. Na pozadí celé úspěšné kampaně byl a je funkční e-shop, který byl schopen bez problémů zvládat nápor návštěv a transakcí bezproblémově, bez jakýchkoliv výpadků. To bylo pro nás v době růstu velmi důležité. Dosáhli jsme to i díky dlouholeté fungující kooperaci s naším technologickým partnerem ui42 a flexibilnímu stabilnímu redakčnímu systému CMS BUXUS, na kterém je náš e-shop postavený.
Ján Sárkozi, IT manažer
Rychlejší nákup na dva kliky,
díky šikovnému UX

Další grafické ukázky e-shopu
Spojte se s námi, rádi vám pomůžeme i s vaším projektem
Ukažte nám váš projekt a pobavme se o potenciálu jeho růstu. Poradíme vám.
-
Michaela Recht
-
Samuel Štassel
-
Martin Papp