Vyžívám se v optimalizaci obzvlášť, pokud je vidět a cítit. Jednou z věcí, kterou jsem se v poslední době zabýval je minimalizace rychlosti načítání stránek a aplikací ve webových prohlížečích. Rychlost, jakou se stránka načte, je první věc, která na návštěvníka působí, proto je důležité, aby pomalejší načítání stránky neobtěžovalo, nejlépe pokud by si ho ani nevšiml. Dodržuji tyto zásady:
Jak dále zrychlovat?S tímto jsem se však nespokojil a hledal jsem další způsoby, jak načítání stránek ještě zrychlit. Rozhodl jsem se pro modpagespeed od Googlu, což je mod pro Apache čili rozšíření webového serveru. Je k němu také k dispozici analytický nástroj. Modpagespeed toho umí opravdu hodně, je intenzivně vyvíjen, některé funkce jeho jsou zatím spíše experimentální a do budoucna slibné. Pro bezproblémový provoz rozšíření je důležité si uvědomit, že řada funkcí vyžaduje, abychom se řídili jistou konvencí například při kódování stránky. Pokud necháváme z html kód stránky odstraňovat všechny bílé znaky, nelze přirozeně používat CSS vlastnost Modpagespeed zjednodušuje řadu věcí, o kterých jsem psal výše (například kombinování a minimalizace CSS souborů). V produkčním prostředí mám dále zapnuté:
Instalace modpagespeedInstalace modu na server byla jednoduchá, pro distribuci Debian existuje deb balíček pro 32- i 64bitový systém. Mod se po instalaci i sám aktivuje, takže po restartu serveru by měl modpagespeed už dělat svou práci, to poznáte podle hlavičky „X-Mod-Pagespeed“ v HTTP odpovědi serveru. Můžete (jako já) narazit na problém, pokud některý aktivní mod používá direktivu Při základní a výchozí konfiguraci jsme na našich webech nenarazili na žádný problém. Jedinou výjimkou byly pluginy Facebooku, které nerozumí zkráceným adresám vytvořených filterm Po zapnutí domain sharding se projevili problémy s javascriptovými knihovnami selectivizr a TinyMCE. V prvním případě se mi problém podařilo snadno vyřešit –, protože selectivizr stahuje a parsuje CSS soubor připojený ke stránce, stačilo zajistit, aby si onen soubor stáhnul ze stejné domény, ze které pochází on sám. V případě TinyMCE bylo problémů více – předeším kvůli cross domain policy prohlížečů, která neumožňuje javascriptu stahovat soubory z jiných domén, než sám pochází, a zrovna TinyMCE stahuje velké množství souborů. Nakonec bylo nutné přistoupit k deaktivaci domain sharding pro všechny stránky, které používají TinyMCE. ModpageSpeed úspěšně používám již téměř rok, rychlost načítání stránek se znatelně zlepšila. |
Blog >