Akceleratory webowe

"Bliżej i mniej" przekłada się na "szybciej"

Sieci stwarzają poważne wyzwania dla systemów dostarczania stron; ośrodek powinien być jak najbliżej wszystkich użytkowników.

Jednym z rozwiązań jest ustawienie szeregu serwerów rozproszonych geograficznie i zastosowanie urządzeń globalnego równoważenia obciążeń (np. Cache Server Directory firmy Radware - zob. tabela) do kierowania użytkowników do najbliższego ośrodka. Można też zastosować rozwiązanie CDN (Content Delivery Network) - specjalizowaną sieć przesuwającą zawartość ośrodka bliżej użytkowników przez umieszczenie dużych, statycznych obiektów stron (takich jak obrazy i pliki PDF) w buforach znajdujących się bliżej użytkownika.

W tak wydzielonej (logicznie) sieci większość zawartości stron jest dostarczana użytkownikowi szybciej i jest mniej zależna od problemów związanych z ruchem, pojawiających się na całej drodze przesyłu. Jednakże usługi CDN nie są tanie i wymagają zmodyfikowania przyspieszanych stron w celu połączenia buforowanych obiektów na stronach. Niedawno wydana specyfikacja ESI (Edge Side Includes) ma na celu usprawnienie procesu tworzenia zawartości dla dynamicznie składanych i dostarczanych przez CDN zawartości.

Akceleratory webowe

Rys.1 Sieć dystrybucji zawartości - CDN

Do zmniejszenia objętości dostarczanej zawartości może być używana kompresja, a mniejsza objętość przesyłanych danych generalnie zmniejsza czas ich przesyłania. Obrazy i inne formaty binarne tradycyjnie tworzą zasadniczą "masę objętościową" stron webowych. Projektanci stron webowych skupiają się przede wszystkim na redukcji kolorów w obrazach GIF lub adjustacji plików JPEG w celu zmniejszenia ich rozmiarów. Do tego celu używać można szeregu narzędzi dostępnych na rynku (zob. tabela).

Zainteresowani przesyłaniem ekstremalnie dużych plików obrazów powinni jednak całkowicie zaniechać stosowania standardowych formatów webowych i poszukać zaawansowanych metod formatowania obrazów, takich jak MrSid czy DjVU, komercyjnie wydawanych przez LizardTech.

Wraz ze wzrostem złożoności dokumentów HTML oraz powszechnego używania JavaScript kompresja stron, polegająca na redukcji spacji składniowo i treściowo neutralnych (white space) w dokumentach HTML czy JavaScript, może w istotny sposób zmniejszyć rozmiary plików. Oprócz stosowania takich metod trzeba pamiętać, że przeglądarki obsługujące HTTP 1.1 obsługują także kodowanie GZIP, które kompresuje pliki przed dostarczeniem ich do odbiorcy. Serwery webowe (np. IIS 5.0 Microsoftu) obsługują zazwyczaj tę opcję.

Należy jednak zwrócić uwagę na fakt, że chociaż dostarczanie mniejszej liczby bitów poprawia generalnie przepustowość ośrodka, to jednak w tym równaniu musi być uwzględniony czas kompresji/dekompresji dostarczanych obiektów. Mocno skompresowane pliki mogą zmniejszać zapotrzebowanie na pasmo transmisyjne, ale niekoniecznie musi się to przekładać na szybszy odbiór strony przez użytkownika.

Ogniwo słabo kontrolowane

Kompresja, dystrybucja, buforowanie i inne rozwiązania praktycznie na nic się nie zdadzą, jeżeli użytkownik końcowy nie zobaczy pożądanych efektów na swoim ekranie. Stosowany przez użytkowników Weba schemat postępowania: "kliknij-czekaj-przeglądaj-kliknij", sugeruje wykorzystanie czasu braku aktywności użytkownika, zajętego "studiowaniem" zawartości na przeglądarce, do sprowadzania obiektów jego przewidywanego, kolejnego zlecenia.

Ostatecznie jednak system użytkownika może przekreślić wszystkie wysiłki administratorów ośrodków webowych, którzy nie mają zbyt wielkiej kontroli nad ustawieniami konfiguracyjnymi klienta. Strony webowe mogą rozwijać się wolno po prostu z powodu złych ustawień systemowych po stronie klienckiej czy zbyt wielkiej liczby aplikacji na nim pracujących, fragmentacji dysku lub powolnej przeglądarki. Na przeglądarkę mało kto zwraca uwagę - rzadko są one brane pod uwagę w dyskusji nad szybkością. Jednak przeglądarka Opera Software może okazać się znacznie lepsza, w tym aspekcie, od powszechnie używanych Internet Explorer czy Netscape.


TOP 200