Zapewne wiele z Was narzekało nie raz na szybkość wczytywania stron WWW. Jest to zmora. Zdarza się jeszcze, że strony nie spełniają wymagań pozycjonowania i zajmują dużo, a co za tym idzie ich ładowanie nie przebiega tak, jakbyśmy sobie tego życzyli. Jednakże, nie wszystko zależy od samej strony i serwera, na którym się znajduje. Okazuje się, że my także możemy zrobić coś, aby strony ładowały się szybciej.
Wbrew pozorom to, co mamy w konfiguracji naszego systemu ma duży wpływ na szybkość ładowania stron. Już pominę fakt, że zdecydowanie lepiej jest używać tych bardziej wydajnych przeglądarek internetowych, które interpretują bez problemu wszystkie skrypty i wtyczki. To powinniście już wiedzieć.
Zmiana DNS w systemie
Jest jeszcze jeden element konfiguracji systemu, a dokładnie to konfiguracji naszej sieci w systemie, który ma istotny wpływ na jakość szybkość ładowania się stron WWW. W sieci możemy znaleźć ogromną ilość narzędzi, które liczą w jakim tempie strona się uruchamia. Możemy zrobić sobie taki test, aby sprawdzić, czy nasze rozwiązanie naprawdę działa. W sumie, to nie napisaliśmy o jakie rozwiązanie chodzi, ale to za chwilę stanie się jasne. Przeprowadźmy zatem test szybkości ładowania naszej strony głównej speedtest.pl. Narzędzie, z którego skorzystamy to Website Speed Test, aczkolwiek tego typu stron jest o wiele więcej w sieci.
Na tę chwilę interesuje nas szczególnie jedna opcja tego testu, mianowicie Domain Lookup. Jest to czas odpowiedzi serwera DNS. O dziwo, możemy mieć wpływ na ten współczynnik. Dużą rolę odgrywają tu DNS, jakie mamy ustawione w systemie. Prawda jest taka, że gdy komunikacja z serwerem DNS trwa zbyt długo, lub serwer DNS długo tłumaczy adresy, to strona WWW ładuje się wolniej i dłużej musimy czekać. Cała komunikacja może wtedy trwać o wiele dłużej. Z natury wszyscy użytkownicy działają po DHCP w sieci, co oznacza, że przeważnie DNS także ustawione są na automatyczne, takie, jakie daje nam operator. Nie są to najlepsze serwery DNS i warto by było zmienić je na ogólnodostępne. My ze swojej strony polecamy serwery na przykład Google (8.8.8.8, 8.8.4.4) lub OpenDNS (208.67.222.222, 208.67.220.220).
Gdzie w takim razie możemy te DNS zmienić, zapytacie pewnie. Sprawa jest stosunkowo łatwa. Musicie wejść z Ustawienia Połączenia Sieciowego (Start | Ustawienia | Panel sterowania | Połączenia sieciowe). Następnie prawym przyciskiem myszy uruchomiamy Właściwości karty sieciowej, z której korzystamy do łączenia się z siecią. Lewym klawiszem klikamy na opcję “Protokół internetowy TCP/IP”, a następnie naciskamy przycisk “Właściwości”. W kolejnym okienku zobaczymy taką opcję, jak “Użyj następujących serwerów DNS”.
Jak widzimy u nas wybrane jeszcze są ustawienia domyślne. Zmieniany na opcję “Użyj następujących serwerów DNS”. Teraz właśnie wpisujemy wybrane adresy. My skorzystaliśmy z adresów DNS Google (8.8.8.8, 8.8.4.4).
Teraz musimy wyłączyć i włączyć ponownie nasze połączenie sieciowe i oczywiście sprawdzić, co dała ta zmiana.
Jak widzimy, przyspieszył się czas ładowania strony, bo czas szukania adresu w DNS zmalał do 0 ms. Zmniejszyły się też Connection Time i Redirection Time. Jest to dużo, ale czy można zrobić coś jeszcze?
[vlikebox]
Wpisy w HOSTS
Zapewne podobają Wam się wyniki, jakie uzyskujemy po zmianie DNS, ale można zrobić jeszcze kilka zmian, aby było szybciej. Sposób ten często wykorzystywany jest przez administratorów, którzy często uruchamiają strony firmowe. Chodzi mianowicie o wpis w pliku HOSTS w systemie przypisujący adresy DNS do adresów IP. Oczywiście, nie wrzucimy tu całego internetu, ale podstawowe WWW, których codziennie używamy mogą się przydać. Plik znajduje się w następującej ścieżce:
C:\Windows\System32\Drivers\Etc\Hosts
Teraz musimy sprawdzić, jakiemu adresowi IP odpowiada nasz adres DNS. Możemy to zrobić wykonując ping (Start/Uruchom/cmd)
ping speedtest.pl
Nasz adres IP to: 188.165.18.183.
Teraz wpisujemy te dane do pliku C:\Windows\System32\Drivers\Etc\Hosts. Może się okazać, że plik się nie zapisze. Wtedy musimy zapisać go pod staką nazwą, jak oryginalna w innej lokalizacji i skopiować z prawami Administratora.
Pamięć cache DNS
Teraz kolejny trick, jaki możecie użyć do przyspieszenia ładowania stron. Windows, aby przyspieszyć pracę DNS przechowuje zawarte w nim informacje w specjalnym obszarze pamięci cache. To jest miejsce, w którym system najpierw szuka informacji o stronach, jakie chcemy oglądać. Znajdziemy tak dane zarówno z dane z pliku Hosts, jak i dane ostatnio odwiedzanych witryn. Problem stanowią błędy, które się tam zachowają. Wygląda to tak, że jeśli nagle administrator danej strony naprawił błąd i połączenie się z nią jest już możliwe, my się o tym nie dowiemy. To, co musimy zrobić, to trochę pobawić się w Rejestrze Systemu i dokonać edycji tak, aby system już nie przechowywał informacji o nieudanych połączeniach. Uruchamiany Rejestr Systemu. Z natury jest to polecenie Regedit. Odszukujemy frazę:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters.
Tworzymy tam nową wartość DWORD o nazwie NegativeCacheTime i nadajemy jej wartość 0 (jeśli zauważymy, że DWORD o podanej nazwie już istnieje, zmieniamy jej wartość na 0).
Wartość ta ustali, przez ile sekund Windows ma przechowywać w pamięci podręcznej DNS informacje o nieudanych połączeniach. Teraz należy tylko zamknąć rejestr i wyłączyć komputer, albo uruchomić go ponownie. Możemy też wyczyścić cache DNS za pomocą ipconfig w Wierszu Poleceń.
ipconfig/ flushdns
To wszystkie tricki, jakie znamy z DNS. Mamy nadzieję, że chociaż trochę pomogą Wam w szybszym uruchomieniu stron.
[vlikebox]