Saturday, December 22, 2012

SPDY (mod_spdy) i mod_pagespeed

Ostatnio pisałem o nowym rozszerzeniu TCP Fast Open, stworzonym przez Google w ramach inicjatywy Make the Web Faster. Teraz przedstawię dwa kolejne projekty z tego laboratorium, to protokół połączeniowy SPDY i moduł do Apache mod_pagespeed.

TCP Fast Open skraca czas otrzymania pierwszych danych po nawiązaniu sesji TCP, to spory zysk jeżeli ilość pakietów pomnożymy przez np. milion. Nie zmienia to faktu, że przeglądarka używając bezstanowego protokołu HTTP za każdym zapytaniem musi nawiązywać nowe połączenie TCP. Nie prawda? Racja, w HTTP 1.1  jest Keep-Alive. Mało tego, jest też HTTP Pipelining (opisywałem), który pozwala wysyłać wiele zapytań HTTP jednocześnie, bez czekania na odpowiedzi wcześniejszych zapytań.
Jednak HTTP Keep-Alive i HTTP Pipelining są pewnego rodzaju doróbkami do archaicznej architektury protokołu HTTP, na podstawie której buduje się nowoczesny Web. Tak właśnie powstał SPDY (od SPeeDY). Zadaniem protokołu SPDY jest rozbudować HTTP o mechanizm nawiązywania stałych sesji, a nawet pozwala ustalać priorytety dla każdego połączenia. W czym pomoże SPDY i jak można zobaczyć poniżej.





Jeżeli chcesz, aby Twój serwer Apache obsługiwał protokół SPDY wystarczy, że zainstalujesz mod_spdy i skonfigurujesz mod_ssl, ponieważ SPDY działa tylko z https. Należy również otworzyć port tcp/443. Na stronie projektu opisany jest proces instalacji, która jest bardzo prosta, jej poprawność w Debianie sprawdzimy komendą:
apache2ctl -M

Jeżeli chcesz sprawdzić, czy jakiś serwer obsługuje SPDY skorzystaj z spdycheck.org. Natomiast co do obsługi SPDY w przeglądarce, to najlepiej sprawdzić na stronie producenta. Firefox ma dodatek, który na pasku adresu wskazuje, czy obecna strona korzysta ze SPDY.

Drugi moduł mod_pagespeed również ma poprawić prędkość ładowania stron w przeglądarce, ale jego obszarem działania jest zupełnie co innego niż w SPDY. Tu chodzi o optymalizację budowy strony, tzn zdjęć, kodu i wszystkiego co da się poprawić, aby jej przetwarzanie trwało krócej. Np. w ostatniej wersji dodano optymalizację związaną z możliwością rozwijania adresów innych serwerów za pomocą treści otrzymanych przez pierwszy serwer. Zaoszczędza to czas czekania na odpowiedzi serwera DNS. Krótko mówiąc mod_magespeed, to silnik do automatycznego wprowadzania sztuczek w kodzie strony, aby te były szybciej interpretowane przez przeglądarki, ale co ja będę pisał, najlepiej samemu zobaczyć.






Instalacja jest prosta, jej poprawność można sprawdzić w ten sam sposób, jak w mod_spdy. Tu jednak trzeba troszkę poeksperymentować z dostępnymi filtrami.

Zasoby:

SPDY
http://googlecode.blogspot.com/2012/01/making-web-speedier-and-safer-with-spdy.html
http://www.chromium.org/spdy/spdy-whitepaper
http://code.google.com/p/mod-spdy/

mod_pagespeed
http://code.google.com/p/modpagespeed/
http://googledevelopers.blogspot.com/2012/12/new-modpagespeed-cache-advances.html

Thursday, December 13, 2012

Tradycyjne podsumowanie roku

Jak zwykle na swoim blogu prezentuję podsumowanie mijającego roku przez Google, na które czekałem z ciekawością. Niestety, w porównaniu do dwóch poprzednich lat ten klip nie zrobił na mnie takiego wrażenia. Może to nowe podejście do Zeitgeist przez Google. Oczywiście pisząc o tym, że moje oczekiwania trochę się zawiodły to konkretnie mam na myśli podkład muzyczny. Natomiast sam cel podsumowania wydarzeń minionego roku jak zwykle ma ukryty cel, chodzi o pokazanie jak te wydarzenia były relacjonowane przez sieć.

Dostępna jest również strona Zeitgeist 2012, na której można sprawdzić co w naszym kraju było najczęściej wyszukiwane w 2012 roku.




W rym roku podsumowania dokonała również fundacja Linuksa.




Jako podsumowanie roku 2012 polecam również obejrzenie Linux Kernel Report z konferencji LinuxCon Europe 2012, która odbyła się na początku listopada. Można tam usłyszeć o większość nowinek, w które jądro Linux zostało wyposażone w mijającym roku.