Na plný plyn

Téma rychlosti webu je posledních pár let velmi diskutované v souvislosti s mobilními zařízeními a optimalizací výkonu. Kdo by nechtěl rychlý web, takový co se načte během mrknutí oka, není zahlcen spousty blokujících requestů na assety a procházení jím lze přirovnat spíše jízdě sporťákem, než plazením se v minovém poli. Jak ale na to? V tomto článku se budu snažit vám přiblížit technologii, která má pomoct s mnoha issue spojenými s rychlostí webu – především na wordpressu.

Tak kde je problém?

Web může být pomalý hned z několika důvodů.

  • Používají se velké obrázky, které se dlouho načítají a brzdí tak bitrate neúspornými daty.
  • Neminifikují/neoptimalizují se CSS/JS assety
  • Volají se na začátku webu nedůležité JS scripty, které zbrzdí vykonávání zbytku kódu
  • Dlouhý TTFB (time to first byte – čas prvního bajtu) neboli jak rychlá je odezva serveru
  • Využívá se neefektivně příliš mnoho scriptu třetích stran (nejrůznější sledovací nástroje, remarketingové kódy a podobně)
  • Assety nemají nastavený parametr cache-control pro dlouhé kešování v prohlížeči
  • Používají se obrázky s vyšším rozlišením než jaké je potřeba

Na některé z těchto problémů je potřeba myslet při tvorbě šablony (například volit správné rozlišení obrázků), ale mnoho z nich lze řešit systémově pomocí automatizovaných modulů (minifikace, optimalizace obrázků apod…)

Řešení? Řešení!

Na uvedené problémy myslíme jednak při tvorbě šablony, ale i následně systémově pomocí pluginu.

Co je ten LiteSpeed

LiteSpeed (LS) je technologie určená ke zrychlování webu způsobem rozdílným od toho běžně používaného. Zatímco například apache je tzv. process-based tak LS je event-driven (podobně jako nginx) [Zdroj]. Což znamená, že zatímco apache vlákno obsluhuje vždy jednoho návštěvníka ten samý čas, tak LS zvládne obsluhovat hned několik naráz.

Litespeed se skládá ze dvou částí, tou první je serverová část, kde tento software běží a komunikuje s aplikační částí, kde je daná implementace webu. Aplikační část pak využívá té serverové. Zajímavým příkladem je právě to kešování, kde aplikační část spolupracuje s modulem na té serverové pro bleskurychlé kešování.

U WordPressu je kompatibilita aplikační části zajištěna pluginem LiteSpeed Cache, který je úplně zdarma.

Co to teda umí?

Plugin Litespeed Cache toho zvládne mraky. Tady je výčet toho důležitého:

  • Kešování stránek i REST api
  • Přidání hlaviček control-cache pro assety
  • Napojení na CDN
  • Optimalizace obrázků
  • Minifikace a sdružení CSS/JS
  • Generování tzv. critical css
  • Lazy Load obrázky/iframes
  • Optimalizace databáze
  • Samozřejmostí je nastavení vyjímek pro jakoukoliv stránku/asset

A teď nějaká data

Proběhl zátěžový test s wordpressem na různých webových serverech – Apache, Nginx, LS. Server byl o paměti 1GB, 1 jádro, 1 vlákno.

 

Server Zpracovaných dotazů za vteřinu
LiteSpeed 28360.3
Nginx 5730
Apache 1000.56

 

Z testu vychází LS 5x rychlejší než Nginx a 28x rychlejší než Apache. [Zdroj]

Co se týče ostatních pluginů pro zrychlení wordpressu, tak velmi užitečná tabulka k porovnání je zde.

 

Co je k zprovoznění potřeba?

V prvé řadě budete potřebovat LS server. Na výběr máte ze dvou možností otevřená verze OpenLiteSpeed a nebo LSWS Enterprise. Po instalaci na váš server budete mít k dispozici rozhraní pro správu domén a jejich možnosti.

Pokud máte správně nastaveno, stačí nainstalovat wordpress a nastavit plugin LiteSpeed Cache z officiálního webu WP.

 

Všem našim klientům dáváme LS k jejich wordpress webům zcela zdarma, jako standartní balíček.