Modul mod_pagespeed je vlastně kompilovaná sada filtrů, které automaticky (tj. bez nutnosti změny stávajícího obsahu a struktury www stránek) optimalizují web - HTML kód, obrázky, CSS a JavaScripty apod. Výsledný čas stahování obsahu takovéto stránky je pak kratší, než u neoptimalizovaných webů. Míra zrychlení načítání stránek však závisí na úrovni optimalizace původních stránek.
Instalace modulu
Instalace modulu je možná jak ze zdrojových kódů, tak pomocí balíčků u podporovaných linuxových distribucí.
Postup pro Debian, Ubuntu a jiné APT-based systémy, je jednoduchý. Stačí přidat repozitář Google do seznamu balíčkovacího systému a spustit aktualizaci.
echo "deb http://dl.google.com/linux/mod-pagespeed/deb/ stable main" >> /etc/apt/sources.list
aptitude update
Pokud se objeví chybová hláška oznamující, že nebylo možno ověřit podpisy („GPG error: http://dl.google.com stable Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A040830F7FAC5991“), je nutno stáhnout a přidat klíče do seznamu oprávněných:
wget -q -O - http://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
Následně stačí modul nainstalovat klasickým způsobem
aptitude update
aptitude install mod-pagespeed-stable
Konfigurace modulu se provádí buď globálně pro celý webserver pomocí souboru pagespeed.conf, který je standardně umístěn v /etc/apache2/mods-available. Nebo pro jednotlivé weby v sekci VirtualHost, případně v .htaccess.
Nakonec je nutno restartovat webserver.
/etc/init.d/apache restart
Testy – Rychlost načítání, velikost HTML, PageSpeed Score
Jednoduchou analýzu „kvality“ výsledného kódu stránek lze provést například pomocí online analyzátoru PageSpeed Insights na stránkách Gogole Developers. Výsledkem je ukazatel PageSpeed Score a popis nedostatků včetně návrhů na jejich odstranění.
BEZ mod_pagespeed
The page XXX got an overall PageSpeed Score of 78 (out of 100).
AKTIVNÍ mod_pagespeed, pouze CoreFilters
The page XXX got an overall PageSpeed Score of 95 (out of 100).
Kromě výrazného nárůstu hodnocení je, u tohoto konkrétního webu, důležitější, že aktivací modulu byly eliminovány chyby s vysokou prioritou.
Zajímavější výsledky zobrazují testy velikosti načítaného obsahu a měření rychlosti načítání stránek. Měřeno pomocí rozšíření pro FireFox - Firebug, Cache browseru vypnutá.
BEZ mod_pagespeed:
Requests | Size | OnLoad | |
69 | 428.1 KB | 7.58s | |
70 | 429.3 KB | 5.49s | |
70 | 429.1 KB | 5.79s | |
Průměr: | 70 | 428.8 KB | 6.29s |
AKTIVNÍ mod_pagespeed, pouze CoreFilters:
Requests | Size | OnLoad | |
41 | 355.3 KB | 4.03s | |
43 | 356.1 KB | 4.14s | |
42 | 355.5 KB | 4.19s | |
Průměr: | 42 | 355.6 KB | 4.12s |
S aktivovaným mod_pagespeed je výsledná velikost HTML kódu stránek o 73,2 KB nižší a stránky se načítají o 2.17s rychleji, což je cca 65% doby načítání stránek bez aktivního modulu !!!.
Instalací a aktivací modulu mod_pagespeed na web serveru lze v konkrétních případech dosáhnout velmi razantní optimalizace www stránek, hlavně pak snížení doby jejich načítání.
Na druhou stranu se v diskuzích na interneru objevují příspěvky, že aktivací tohoto modulu dojde k vytížení CPU web serveru na maximum. Osobně jsem tento problém nezaznamenal. Pouze u jednoho webu bylo nutno vypnout filtr convert_meta_tags. V opačném případě modul odstřelil celý web server. Při optimalizaci webu pomocí mod_pagespeed je tedy nutno postupovat obezřetně. Ideální je samozřejmě zabývat se optimalizací webu již při jeho návrhu a vývoji.
Po několikadeením provozu jsem zaznamenal v errorlogu Apache stále se opakující chyby
[Sun Oct 28 07:21:19 2012] [error] [client 224.0.0.0] File does not exist: /PATH-TO-VHOST/filename
Řešením je nastavit doménu v konfiguraci VirtualHost
ModPagespeedDomain http://www.domain.tld
případně zkusit nastavit volbu
ModPagespeedDangerPermitFetchFromUnknownHosts on (netestováno)