Rubriky
Technologie Tipy a triky

Naspeedujte svůj web

Webové akcelerátory využívají všechny velké weby jako Facebook či Twitter. Díky nim se při opakovaném prohlížení zobrazují rychleji. K nejpopulárnějším technologiím na akceleraci patří Memcache a Varnish. Od nového roku jich máte k dispozici iu nás.

Použití akceleračních technik ovlivňuje pozitivně nejen na provoz webu, ale i na stabilitu hostingu. Request vybavený na přímo na straně klienta bude vybaven rychleji, než request, který vyřídí nějaký vzdálený server. Cachování web stránka je bývá odolnější vůči případným problémům s výkonem web-serveru nebo databázového serveru.

 

Memcache

Memcache je distribuována paměťová cache resp. key = value databáze. Do této databáze se vloží pod určitým klíčem hodnota a následně se pomocí tohoto klíče daná hodnota znovu vytáhne. Je to velmi rychlé a velmi jednoduché. Memcache se nejčastěji používá k ukládání výsledků z databáze, takže se lépe hodí pro dynamicky generované webové stránky, jako jsou různé CMS nebo e-shopy. Je však možné do ní ukládat jakákoliv data do velikosti 1 MB / klíč. Podpora Memcache se nachází v každé webové aplikaci, která to myslí s produkčním nasazením alespoň trošku vážně.

Na našem hostingu se nachází Memcache na adrese localhost: 11211. Programátorům webových aplikací se může hodit materiál pro programování pomocí Memcache. Pokud víte, že danou hodnotu, kterou máte v databázi, budete používat častěji a že se nemění, rovnou ji můžete dát do Memcache.

Od minulého roku máme takové upravené nasazení použity pro PHP sessions, které jsme měli spíše na databázovém serveru. Lagování na db serveru způsobovalo lagování na celém hostingu. Problém jsme vyřešili použitím Memcache serverů, do kterých vkládáme PHP sessions. Od nasazení jsme už takový problém nezaznamenali.

 

Varnish

Varnish je velmi rychlá reverzní proxy určená zejména na cachování statického obsahu, buď přímo do RAM nebo lokálně na disk. Reverzní proxy se staví před jeden nebo více webových serverů, na které může – ale nemusí – rozdělovat zátěž. Na tyto servery přeposílá požadavky a pokud již daný obsah má u sebe, vyřídí požadavek místo web-serveru. Tím sníží nároky na web server, který se může věnovat jiným požadavkům. Varnish je tedy skvělý na cachování obrázků, HTML, javascriptem, CSS – zkrátka statického obsahu.

V našem případě bylo třeba propojit Varnish s CDB databází. Nebylo to úplně přímočaré, protože Varnish ve svém vlastním jazyce CDB databázi nepodporuje. Naštěstí podporuje jazyk C, takže bylo možné podporu pro CDB databázi doprogramovat. Nutností byla možnost zapnout nebo vypnout ho podle potřeby. To se řeší na úrovni DNS systému. Pro spuštění Varnish stačí změnit adresu stránky na IP 195.210.29.47. Pokud si jen chcete vyzkoušet, jak bude stránka fungovat přes Varnish, nemusíte nic měnit, stačí si nastavit svůj hosts soubor na IP adresu 195.210.29.47 pro doménu, na které to chcete otestovat.

PHP akcelerace

Třetí technologií, kterou na našich serverech využíváme už dávno, je PHP akcelerace. My používáme  eAccelerator. Tento PHP akcelerátor přeloží poprvé zdrojový kód PHP aplikace do bytekodu a dále používá již přímo ten. Způsobí tím rychlejší zpracování, protože pak již není třeba neustále pars PHP skripty do bytekodu znovu a znovu při každém requestu.

PHP akcelerace je na PHP 4 je zapnutá defaultně. V případě PHP 5 a PHP 5.3 ji třeba nejdříve zapnout a před nasazením do ostrého provozu web pořádně otestovat.

 

Akcelerace na vašem hostingu

Nasazení Memcache-u a Varnish-u na našich serverech nebylo vůbec jednoduché. Museli jsme je upravit pro potřeby sdíleného hostingu, na kterém existuje vedle sebe tisíce uživatelů s různými aplikacemi. Všechny akcelerátory se zapínají přes WebAdmin. Vyberete doménu, kterou chcete spravovat, v levém menu kliknete na tlačítko Web a následně na záložku HTTP akcelerace. Zatím jde jen o BETA verzi, protože jsme to zatím testovali pouze interně. Budeme rádi pokud nám dáte feedback, jak se vám s akcelerátory pracuje.

Pozor! Po aktivování Varnish-u dojde ke změně přestane fungovat FTP, protože se začne používat jiná IP adresa než je uvedena v A-záznamu. Po aktivování je proto nezbytné použít nějaký alternatívní způsob připojování na FTP.

Podrobnou verzi tohoto článku a všechny potřebné postupy najdete na naší wiki.

Připravujeme také článek o tom, jak zprovoznit Memcache na populárních CMS a e-shopech.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *