Jeżeli użytkownik wpisze w przeglądarce jakiś adres strony, jest on dynamicznie tłumaczony na adres IP rozpoznawalny przez urządzenia sieciowe i serwery. Tłumaczenie odbywa się poprzez odpytywanie serwera DNS (ang. Domain Name System), który zawiera setki tysięcy rekordów, gdzie do każdego adresu IP przypisana jest odpowiednia nazwa domenowa. A zatem, gdy wpiszemy adres np. forum.hotfix.pl, przeglądarka wyśle żądanie do serwera DNS, w celu ustalenia adresu IP. Dopiero po ustaleniu lokalizacji serwera, będzie możliwe załadowanie strony.
Każde odpytywanie serwerów zabiera czas, szczególnie jest to widoczne w przypadku wolnych DNS-ów, wolnego połączenia GPRS/EDGE/3G lub też z racji odległości dzielącej serwer DNS i komputer wysyłający żądanie. Stosując pewną sztuczkę, czas oczekiwania można skrócić do jednej milisekundy. W niniejszym poradniku przedstawię metodę, która znacząco skróci czas ładowania się stron WWW.
Metoda, o której mowa opiera się na stworzeniu lokalnego serwera DNS. Do tego celu wykorzystamy darmową, małą aplikację o nazwie DnsSpeeder. Program nie wymaga instalacji i przeznaczony jest dla systemów Windows 7/Vista/XP.
Uruchomienie lokalnego serwera pozwoli na gromadzenie rekordów DNS w pamięci podręcznej. Dzięki stworzeniu lokalnej bazy danych, będzie można odwoływać się do niej, jak do normalnego serwera DNS, z tą różnicą, że zostanie zniwelowany czas opóźnienia.
Ogólna zasada działania DnsSpeeder nie jest skomplikowana. Użytkownik uruchamia aplikację (Start), automatycznie dokonywana jest modyfikacja wpisów DNS w połączeniach sieciowych na adres 127.0.0.1, aby każde żądanie wywołania strony było przechwycone lokalnie. Gdy nastąpi prośba odpytania serwera DNS, w pierwszej kolejności przeglądarka odwoła się do lokalnej bazy adresów, dopiero w przypadku braku wymaganych rekordów nastąpi przekierowanie na fizyczny serwer DNS, w celu pobrania niezbędnych informacji. Każda strona odwiedzona przez użytkownika będzie znajdowała się w lokalnym cache, dzięki czemu ponowne odwiedzenie tej samej witryny będzie skutkować skróceniem czasu oczekiwania.
W sekcji DNS Server można zdefiniować listę adresów serwerów DNS, z których program będzie korzystał. Istnieje także możliwość nadawania priorytetów, poprzez przesuwanie poszczególnych wpisów, w górę i w dół. Wpis znajdujący się na samym szczycie posiada najwyższy priorytet. Gdy dany serwer będzie niedostępny, kolejny adres na liście zostanie odpytany, i tak w kółko aż do uzyskania odpowiednich informacji, niezbędnych do ustalenia adresu witryny.
Pod przyciskiem Options kryje się kilkanaście opcji, pozwalających określić zachowanie programu. Możemy tam znaleźć:
- Start At Login - uruchamia DnsSpeeder podczas logowania do systemu (Opcja Aktywna/Nieaktywna; True/False).
- Minimize on Startup - podczas uruchamiania minimalizuje okno programu do zasobnika systemowego.
- Statistical Dialog Always on Top - określa czy panel statystyk zostanie ukryty przy zmianie fokusu innych okien.
- Enable changing local DNS servers - wartość True oznaczać będzie, iż przy uruchomieniu zostanie automatycznie zmieniony adres DNS na lokalny. Podczas zamykania programu nastąpi podmiana adresów (zostaną przywrócone domyślne ustawienia).
- DNS Records Updating Interval - czas, po którym lokalna baza danych będzie odświeżona. W przypadku gdy w okresie pomiędzy kolejnymi odświeżeniami do danej domeny przypisano inny adres IP, niemożliwe będzie ustalenie właściwego adresu, aż do czasu ponownej synchronizacji.
- A Domain to Test The DNS Server Up or Down - definiujemy adres witryny, która zostanie użyta do określania dostępności danego serwera DNS.
- Use Proxy - definujemy czy aplikacja ma się łączyć przy pomocy serwera pośredniczącego (domyślnie opcja wyłączona; False).
- Proxy Type - ustawienie typu serwera proxy (SOCKS5).
- Proxy IP - adres IP serwera proxy.
- Proxy Port - numer portu, pod którym znajduje się usługa proxy.
- Proxy Need Login - jeżeli do połaczenia z serwerem proxy wymagane są dane autoryzacyjne tzn. login i hasło wybieramy opcję True.
- Proxy User/Proxy Password - definiujemy nazwę użytkownika oraz hasło.
DnsSpeeder pozwala filtrować dane przy użyciu wyrażeń regularnych (opcja Filter). Dostęp do okna z danymi statystycznymi uzyskamy wybierając Detail.
Zastosowanie lokalnego serwera DNS ma sens nawet w przypadku ultra szybkich połączeń. Jeżeli każdego dnia przeglądamy dużą ilość stron, możemy zaoszczędzić nieco czasu. Oczywiście opisana metoda nie jest bez wad. W sytuacji, gdy wskutek nieznalezienia potrzebnych informacji nastąpi odwołanie do fizycznego DNS, który w tym czasie jest nieosiągalny, nastąpi zmiana serwera i ponowne odpytanie. Istotne jest ustawienie sprawdzonych DNS-ów, które są szybkie i niezawodne. Niestety nie można tutaj zaproponować uniwersalnego rozwiązania, albowiem jest wiele rzeczy, na które trzeba zwrócić uwagę. Najlepszym wyborem będzie skorzystanie z dodatkowej aplikacji, dokonującej testy wydajnościowe DNS, porównaniu otrzymanych wyników i wybraniu najszybszego serwera spośród dostępnych. Zapewne zadacie pytanie - jak i czym sprawdzać? ...o tym jednak napiszę w kolejnym poradniku.
Copyright © rokko
Wszystkie prawa zastrzeżone. Kopiowanie całości lub fragmentów niniejszego artykułu jest zabronione.
Szukałem artykułu tego typu chcę hostować moją stronę na prywatnym serwerze mam łącze 10mb upload i aktualnie jestem przy stadium przenosin. Polecam wszystkim takie działanie można się sporo nauczyć!