čtvrtek, 28 únor 2013 09:12

Rozjeďte svůj web

Co pomáhá velkým webům být úspěšnější? Řeč je o webových akcelerátorech, díky kterým se weby při opakovaném prohlížení načtou rychleji. Z těch asi nejpoužívanějších jsou technologie Memcache a Varnish. U většiny firem, které nabízejí webhosting, je naleznete již od začátku letošního roku. Užití akcelerátorů má pozitivní dopad na web jako takový, ale i na stabilitu hostingu. Požadavky, které jsou vybaveny na straně klienta jsou vyřízeny rychleji než požadavky, které jsou vybavovány na vzdáleném serveru. Webová stránka, která je cachovaná, bývá odolnější vůči případným problémům s výkonem webového i databázového serveru.

Co si máme pod pojmem Memcache představit?

Jedná se o distribuční memory paměť, resp. klíč=hodnota databáze. Funguje to tak, že se do databáze vloží pod určitým key hodnota, která se následně pomocí daného key vytáhne, proto je to elegantně rychlé a fakt jednoduché. Memcache je ideální pro eshopové stránky a stránky cms, které jsou dynamicky generované. Ale nemusí to býti pravidlem, důležité je, aby ukládaná data byla do max. velikosti 1 MB pro klíč. Pokud máte některé hodnoty, které často používáte a jsou fixní, tj. neměnné, rovnou je tedy můžete dát pod Memcache. Vezměme si jako příklad WebSupport. U nich je Memcache dostupná na adrese localhost: 11211. Pro nadšence, kteří se zabývají vývojem a programováním webových aplikací přijde určitě vhod materiál, který poskytují a naleznete v něm více informací pro programování pomocí Memcache. Z dalších novinek, jak jsme zjistili, mají od minulého roku menší upravené nasazení použito pro PHP session, které měli na DB serveru. Lagování na db serveru mělo důsledek v lagování na úrovni celého hostingu. Problém vyřešili díky Memcache serveru, do kterých je vkládáno PHP session. Tím byl problém vyřešen.

Nyní si řekněme něco málo o Varnishu...

Varnish je extra rychlá reverzní proxy určená spíše 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 webového serveru. Tím sníží nároky na webový server, který se může věnovat jiným požadavkům. Varnish je tedy perfektní na cachování obrázků, HTML, javascriptem, CSS – tj. statického obsahu. Propojení Varnishe je problém. Varnish ve svém vlastním jazyce CDB databázi nepodporuje. Naštěstí podporuje jazyk C, takže je možnost podporu pro CDB databázi doprogramovat. Nutností je třeba možnost zapnout nebo vypnout ho podle potřeby. To se řeší na úrovni DNS systému. Opět jako model uvedeme WebSupport, v tomto případě pro test. 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.

akcelerace webu

Jak je to s tou PHP akcelerací?

Třetí technologií, která je známá od pradávna, je PHP akcelerace. Řešit se dá lehce přes eAccelerator. Tento PHP akcelerátor přeloží nejdříve zdrojový kód PHP aplikace do bytekodu a následně používá již jen ten. Umožní tím rychlejší zpracování, protože pak již není vůbec potřeba pars PHP skripty do bytekodu při každém requestu. PHP akcelerace je na PHP 4 je v dnešní době zapnutá defaultně. V případě PHP 5 a PHP 5.3 je nutné ji nejdříve zapnout a před nasazením do ostrého provozu web dokonale otestovat.

Jak probíhá akcelerace na většině webhostingových serverech v praxi?

Nasazením Memcache a Varnish na velkých webhostingových serverech není procházka růžovým sadem. Hostingy je nutné upravit pro potřeby sharovaného hostingu, na kterém existuje vedle sebe tisíce uživatelů s různými aplikacemi. Všechny akcelerátory se většinou zapínají přes administrační rozhraní. Každý provider webhostingových služeb bude rád za každý feedback, jak se s uvedenými nástroji pracuje.

Na co je nutné si dát u některých webhostingových služeb pozor?

Po aktivování Varnish dojde ke změně a může přestat fungovat FTP, protože se většinou začne používat jiná IP adresa než která je uvedena v A-záznamu. Po aktivování je proto nezbytné použít některý z alternativního způsobu připojování na FTP.