wydajne witryny internetowe. przyspieszanie działania serwisów www cała książka, ebooki

[ Pobierz całość w formacie PDF ]
4.
Reguła 4. Kompresja gzip ............................................................................................ 47
W jaki sposób działa kompresja?
47
Jakie dane kompresować?
48
Oszczędności
49
Konfiguracja
49
Buforowanie proxy
51
Przypadki skrajne
52
Kompresja gzip w działaniu
53
5.
Reguła 5. Umieszczanie arkuszy stylów na początku dokumentu ........................... 55
Progresywne generowanie
55
Narzędzie sleep.cgi
56
Pusty biały ekran
57
Chwilowe wyświetlenie treści strony bez zastosowanych stylów
60
Co może zrobić programista interfejsu?
61
6.
Reguła 6. Umieszczanie skryptów na końcu dokumentu .......................................... 63
Problemy związane ze skryptami
63
Równoległe pobieranie elementów strony
64
Zablokowanie przez skrypty możliwości pobierania innych elementów strony
66
Najgorsze rozwiązanie: skrypty na początku strony
67
Najlepsze rozwiązanie: skrypty na końcu dokumentu
67
Spojrzenie w przyszłość
68
7.
Reguła 7. Unikanie wyrażeń CSS ................................................................................ 69
Uaktualnianie wyrażeń
69
Rozwiązanie problemu
70
Podsumowanie
71
8.
Reguła 8. Używanie zewnętrznych plików JavaScript i CSS ..................................... 73
Kod na stronie kontra w zewnętrznym pliku
73
Typowe wyniki
76
Strona główna
76
Połączenie zalet obu rozwiązań
77
9.
Reguła 9. Redukcja liczby zapytań DNS ..................................................................... 81
Buforowanie zapytań DNS oraz wartość TTL
81
Perspektywa przeglądarki internetowej
84
Zmniejszanie liczby zapytań DNS
86
10.
Reguła 10. Zmniejszanie objętości kodu JavaScript ................................................... 87
Zmniejszanie objętości kodu
87
Zaciemnianie kodu
87
6
|
Spis treści
Oszczędności
89
Przykłady
90
Dodatkowe rozwiązania
91
11.
Reguła 11. Unikanie przekierowań ............................................................................. 95
Rodzaje przekierowań
95
W jaki sposób przekierowanie zmniejsza wydajność?
96
Alternatywa dla przekierowania
98
12.
Reguła 12. Usuwanie duplikujących się skryptów .................................................... 105
Powtarzające się skrypty — to się zdarza
105
Duplikujące się skrypty zmniejszają wydajność
106
Unikanie powtarzających się skryptów
107
13.
Reguła 13. Konfiguracja nagłówka ETag .................................................................. 109
Czym jest ETag?
109
Problem związany z nagłówkiem ETag
111
Nagłówek ETag — używaj go lub zapomnij o nim
113
Używanie nagłówka ETag w praktyce
114
14.
Reguła 14. Buforowanie zapytań Ajax ...................................................................... 117
Web 2.0, DHTML oraz Ajax
117
Asynchroniczny = natychmiastowy?
119
Optymalizacja zapytań Ajax
120
Buforowanie zapytań Ajax w rzeczywistych aplikacjach
120
15.
Analiza dziesięciu witryn internetowych ................................................................ 125
Wielkość strony, czas udzielania odpowiedzi i ocena w skali YSlow
125
W jaki sposób zostały przeprowadzone testy?
127
Amazon
128
AOL
130
CNN
133
eBay
135
Google
137
MSN
141
MySpace
143
Wikipedia
146
Yahoo!
148
YouTube
150
Skorowidz ............................................................................................................................. 153
Spis treści
|
7
ROZDZIAŁ 9.
Reguła 9. Redukcja liczby zapytań DNS
Internet jest siecią bazującą na znajdywaniu serwerów poprzez ich adresy IP. Adresy IP są
trudne do zapamiętania; nazwę serwera zawiera zwykle adres URL. Jednak adres IP nadal
pozostaje niezbędny w celu wykonania żądania przez przeglądarkę internetową. Określenie
tego adresu jest zadaniem serwera DNS (Domain Name System). Wymieniony serwer DNS
zmienia nazwy serwerów WWW na adresy IP, podobnie jak książka telefoniczna, w której dla
danego nazwiska lub instytucji można odszukać numer telefonu. Po wpisaniu w przeglądarce
internetowej adresu
www.yahoo.com
. serwer DNS łączy się z przeglądarką i zwraca jej adres IP
wskazanego serwera WWW.
Powyższe objaśnienie przedstawia dodatkową zaletę serwera DNS: stanowi on warstwę po-
średnią między adresem URL i rzeczywistym serwerem WWW. Jeżeli wymieniony serwer
WWW zostanie zastąpiony przez inny z odmiennym adresem IP, wówczas DNS i tak umożliwia
użytkownikowi używanie tej samej nazwy w celu uzyskania dostępu do nowego serwera.
Ewentualnie, podobnie jak w przypadku witryny
www.yahoo.com
, z nazwą może być powią-
zana większa liczba adresów IP, które gwarantują większą wydajność witryny internetowej.
Jednak używanie serwera DNS wiąże się z kosztami. Wyszukanie adresu IP dla podanego
adresu URL zwykle zajmuje przeglądarce internetowej od 20 do 120 milisekund. Do chwili
zakończenia zapytania DNS przeglądarka nie może pobierać żadnych elementów z podanego
serwera WWW. Czas udzielania odpowiedzi na żądanie użytkownika zależy więc także od
szybkości działania serwera DNS (zwykle zapewnianego przez dostawcę usług internetowych
— ISP), obciążenia serwera, odległości od niego oraz szybkości połączenia z internetem. Po
opisie działania DNS z punktu widzenia przeglądarki internetowej zostanie opisana technika
zmniejszenia ilości czasu poświęcanego na wykonywanie zapytań DNS.
Buforowanie zapytań DNS oraz wartość TTL
Zapytania DNS są buforowane w celu zwiększenia wydajności. Proces buforowania może
występować na specjalnych serwerach buforujących obsługiwanych przez ISP bądź w sieci
lokalnej, choć wówczas buforowanie będzie obejmowało poszczególne komputery użytkow-
ników. Jak pokazano na rysunku 9.1, po żądaniu przez użytkownika nazwy serwera WWW
informacje dotyczące DNS pozostają w buforze DNS systemu operacyjnego (w systemie Micro-
soft Windows jest to usługa o nazwie Klient DNS). Dalsze żądania dostępu do danego serwera
nie wymagają więc wykonywania kolejnych zapytań DNS, przynajmniej przez pewien czas.
81
 Rysunek 9.1. Buforowanie DNS z punktu widzenia przeglądarki internetowej
Wystarczająco proste? Chwila, moment — przecież większość przeglądarek internetowych
posiada własne bufory, zupełnie niezależne od bufora systemu operacyjnego. Dopóki prze-
glądarka przechowuje rekord DNS we własnym buforze, nie musi angażować systemu opera-
cyjnego podczas żądania dostępu do rekordu. Dopiero po usunięciu rekordu z bufora prze-
glądarki następuje zapytanie kierowane do systemu operacyjnego. W takiej sytuacji system
operacyjny albo będzie posiadał i dostarczy odpowiedni rekord z bufora, albo wyśle żądanie
do zdalnego serwera, co spowoduje wystąpienie potencjalnego opóźnienia w czasie udzielania
odpowiedzi na żądanie użytkownika.
Proces staje się jeszcze bardziej skomplikowany po uwzględnieniu faktu, że programiści zdają
sobie sprawę, iż adres IP ulega zmianie i zużywa pamięć bufora. Dlatego też rekordy DNS są
okresowo usuwane z pamięci, a kilka różnych ustawień konfiguracyjnych określa sposób
i częstotliwość ich usuwania.
Czynniki wpływające na buforowanie DNS
W pierwszej kolejności serwer powinien określić czas buforowania rekordów. Zwracany jako
wynik zapytania rekord DNS posiada tak zwaną wartość TTL (
Time-To-Live
) określającą mak-
symalny czas ważności pakietu w sieci. Wymieniona wartość informuje klienta o maksymalnym
czasie buforowania danego rekordu.
Chociaż bufor systemu operacyjnego honoruje wartość TTL, to przeglądarki internetowe ignorują
ją i ustalają własne ograniczenia czasowe. Co więcej, przedstawiona w rozdziale B funkcja
Ke-
ep-Alive
protokołu HTTP może nadpisać zarówno wartość TTL, jak i ograniczenia czasowe
przeglądarki. Innymi słowy, dopóki przeglądarka internetowa i serwer WWW utrzymują komu-
nikację oraz otwarte połączenie TCP, nie ma żadnego powodu wykonywania kolejnych zapy-
tań DNS.
Przeglądarki internetowe stosują własne ograniczenia dotyczące liczby buforowanych rekordów
DNS, niezależnie od czasu, w jakim rekordy znajdują się w buforze. Jeżeli w krótkim czasie
użytkownik odwiedza wiele różnych witryn posiadających odmienne nazwy domen, wówczas
wcześniejsze rekordy DNS zostaną usunięte z bufora i zajdzie konieczność przeprowadzenia
kolejnego zapytania DNS.
82
|
Rozdział 9. Reguła 9. Redukcja liczby zapytań DNS
  [ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • telefongry.keep.pl






  • Formularz

    POst

    Post*

    **Add some explanations if needed