DNS Anycast, to temat nie związany bezpośrednio z WordPressem, ale mający wpływ na to jak szybko strona może się ładować, co oznacza także możliwość uzyskania lepszych wyników jakości. Zacznijmy jednak od tego czym w ogóle jest DNS.

Jako że zawsze staram się tłumaczyć poruszane zagadnienia w możliwie najprostszy sposób, tym razem nie zrobie inaczej. Wyobraź sobie, że cofasz się w czasie i trzymasz w ręku książkę telefoniczną. Co w niej znajdziesz? Znajdziesz imię, nazwisko oraz unikalny numer telefonu powiązany z daną osobą. Serwery DNS to właśnie taka książka telefoniczna tyle że zamiast numerów telefonów są numery IP, a zamiast osób domeny np. domenaX.pl.

Z takiej książki w uproszczeniu korzysta Twój komputer lub urządzenie mobilne gdy wpisujesz nazwę domeny w pasku adresu przeglądarki WWW. Wpisana nazwa jest wyszukiwania w książce i po odnalezieniu jej, odczytywany jest adres IP. Dzięki temu Twój sprzęt dowiaduje się gdzie dokładnie strona jest zlokalizowana i skąd trzeba pobrać jej pliki aby w kolejnym kroku renderować je w przeglądarce i pokazać Ci tak jak ten artykuł, który teraz czytasz 🙂

DNS Anycast

Odwołując się do wcześniejszej analogii, domena potrzebuje przynajmniej dwóch książek telefonicznych (dwóch serwerów nazw), ale oczywiście może mieć ich więcej. W standardowych konfiguracjach zazwyczaj jest zapewnione minimum, czasem operatorzy dokładają trzeci serwer, żeby nieco bardziej rozłożyć zapytania jakie maszyny muszą obsłużyć. Te serwery DNS mają konkretne lokalizacje. Mogą być w tym samym kraju, mieście, tym samym centrum danych, tym samym budynku, sali, szafie, a nawet na tej samej fizycznej maszynie. Dwa ostatnie zdecydowanie odradzam.

Tak na marginesie: Jeśli zdecydujesz sie kiedyś na własne serwery nazw rozrzuć ich geolokalizację żeby w przypadku problemów w centrum danych X drugi DNS w innym miejscu był widoczny bez problemów.

No właśnie zapytania o adres zamieszkania domeny w książce telefonicznej DNS to także czas, który na te operację trzeba poświęcić.

Znowu cofnijmy sie w czasie. Stajemy w szranki. Oboje jesteśmy w tym samym pokoju i oboje mamy ten sam cel (znaleźć numer Krzyśka). Każdy z nas ma do dyspozycji książkę telefoniczną. Twoja jest w tym samym pokoju w którym oboje się znajdujemy (leży na stole pod oknem), natomiast moja znajduje się w pokoju piętro wyżej. Zadanie jasne, stopery przygotowane… START!

Jak sądzisz kto z nas osiągnie lepszy czas odnalezienia numeru telefonu do Krzyśka. Oczywiście, że Ty 🙂 Wystarczy że zrobisz kilka kroków do okna i już masz książkę w swoich rękach aby działać. Ja muszę wyjść z pokoju, wejść po schodach, wejść do pokoju, podejść do okna i dopiero wówczas książka trafia w moje ręce. Mam do pokonania dłuższy dystans niż Ty.

Dokładnie tak samo jest ze wszystkim co ma do pokonania określoną odległość do celu. Jeśli mam swój serwer DNS (książkę telefoniczną) w Polsce, a zapytanie o adres IP serwera strony (numer telefonu) przychodzi gdzieś z USA, to czas zapytania i czas wysłania odpowiedzi będzie trwał dłużej niż w sytuacji gdy o to samo poprosi ktoś korzystający z Internetu w Polsce. I tu wkracza DNS Anycast 🙂

DNS Anycast, to technologia pozwalająca rozproszyć dns-y po całym świecie. W konsekwencji możesz mieć np. dwie nazwy serwerów DNS, które w rzeczywistości korzystają z wielu swoich klonów rozrzuconych po różnych kontynentach.

Korzyści płynące z faktu wykorzystania DNS Anycast

  • Bezpieczeństwo, czyli większa odporność na ataki. Ruch jest rozproszony na wiele punktów i nawet jeśli jeden lub wiele z nich nie wytrzyma, zadanie przejmą kolejne.
  • Wydajność, to niewątpliwa zaleta DNS Anycast ponieważ zapisy w książce adresowej (twoja strefa DNS) jest w rzeczywistości zapisywana nie na dwóch lub trzech serwerach, ale na znacznie większej ich ilości.
    Tym co jest najlepsze w DNS Anycast, to fakt, że każde zapytanie jest wysyłane do najbliższego Twojej lokalizacji serwera DNS, co skraca czas związany z dotarciem do niego i otrzymaniu konkretnych informacji zwrotnych.
  • Kolejną zaletą stosowania DNS Anycast jest po prostu SEO, a także co za tym idzie możliwy wzrost konwersji np. w sklepie internetowym. Zajrzyj do ostatnio dodanego wpisu na ten temat: Jaki sklep internetowy lepiej sprzedaje. W skrócie odpowiem, że szybki 🙂

Jeśli śledzisz moje artykuły, to prawdopodobnie czytałeś o nowych wskaźnikach rankingowych Google Core Web Vitals. Jeśli nie to koniecznie zerknij. Przy tych wskaźnikach liczy się każda milisekunda. I choć czasy takie jak 300ms mogą Ci się wydawać bez znaczenia, bo przecież to tyle ile mniej więcej trwa mrugnięcie okiem, to jednak znaczenie mają.

Google nie zwraca specjalnie uwagi na to skąd ktoś łączy się z Twoją stroną, czy z Polski, Australii, USA itd. Analizuje dane zbierane przez przeglądarkę Chrome i na tej podstawie wystawia Ci ocenę.

Możesz powiedzieć, że Twoi Klienci są tylko z Polski, ale założę się, że jeśli prześledzisz statystyki znajdziesz także ruch pochodzący z odległych geograficznie regionów. Mogą to być Polacy mieszkający w Ameryce Północnej, których przecież nie jest tam mało lub w innych regionach Świata.

Gdy będą otwierali Twoją stronę, a czas odpytania książki adresowej (DNS) wyniesie 300ms, to potem dokładając pozostałe elementy takie jak rendering itp… okaże się, że jest o X milisekund za dużo, co może mieć negatywny wpływ na wyniki Core Web Vitals, a w konsekwencji na pozycje w wyszukiwarkach.

DNS Anycast pozwala ten problem wyeliminować lub w znaczący sposób zminimalizować, ponieważ książki adresowe będą rozrzucone po całym świecie, a więc jeśli ktoś z USA zechce otworzyć Twoją stronę, to znajdzie jej numer IP na serwerze zlokalizowanym najbliżej siebie, co zamiast 300ms może dać czas na poziomie 30ms, a więc jesteś o 270ms szybszy 🙂

DNS Anycast w Polsce

Prześledziłem kilku największych dostawców usług hostingowych działających w Polsce aby przekonać się czy korzystają z DNS Anycast i na jaką skalę. Poniżej wyniki moich poszukiwań z krótkim komentarzem. Analizowałem główne domeny dostawców, a testy były prowadzone z ponad 200 różnych lokalizacji na całym świecie za pomocą narzędzia DNS Performance i innych dla weryfikacji.

Na powyższych mapach zaznaczone są punkty z których przeprowadzane były testy DNS. Każdy punkt ma podany czas odpowiedzi w milisekundach. Kolor zielony to szybka odpowiedź, kolor czerwony średnia, a kolor czerwony to odpowiedź przydługa.

home

Testy DNS Anycast home.pl

Home jak widać koncentruje się na Europie i Ameryce Północnej. Pozostałe obszary czyli Azja, Oceania i Ameryka Południowa wypadają gorzej i najwyraźniej home nie lokuje w tych obszarach swoich punktów DNS, ale przynajmniej są dwa najistotniejsze regiony świata.

nazwa

Testy wydajności sieci DNS w nazwa.pl

Ten operator również wykorzystuje technologię DNS Anycast i widać, że poza Europą i Ameryka Północną punkty DNS są także w Australii czy Japonii, gdzie czas reakcji to 1 ms. Wydaje się jednak, że brakuje większej ilości punktów w Ameryce Północnej, ponieważ w znacznej mierze czasy przekraczają 60 ms.

cyberFolks

Wydajność DNS w cyberFolks

Ameryka Północna wydaje się być niezagospodarowana, ale widać punkty w Afryce, Ameryce Południowej i Australii. Nie ma ich jednak zbyt wiele i w dużej mierze czasy odpowiedzi DNS nie są najlepsze. Nawet w Europie widać w niektórych miejscach długi czas reakcji.

Zobacz porównanie hostingu WordPress: DiDHost vs cyberFolks.

OVH

Mapa z czasami odpowiedzi DNS OVH

W przypadku strony OVH wydaje się, że w ogóle nie została wykorzystana technologia DNS Anycast, ponieważ sensowne czasy widać wyłącznie na terytorium Europy. Nie wiem dlaczego nie wykorzystali tej technologii skoro mają ją w wachlarzu swoich usług, czyżby nie działała najlepiej?

LH

Mapa z wynikami wydajności DNS operatora LH

I analogiczna sytuacja jak powyżej. Dobre czasy odpowiedzi serwerów DNS są na terenie Europy, a pozostałe kontynenty, to odpowiedzi od 60ms do 339ms.

Jak widzisz u każdego operatora wygląda to nieco inaczej. Jedni mają własną strukturę DNS Anycast inni wydaje się, że jej nie wykorzystują jak OVH lub jej nie mają.

Założę się, że nie przyszło Ci nigdy do głowy analizować swój hosting pod tym kątem 🙂 Robią to w zasadzie tylko nieliczni, ale warto mieć tego świadomość ponieważ tak jak wspomniałem ten czynnik może mieć wpływ na wyniki Core Web Vitals. Zwłaszcza jeśli masz stronę wielojęzyczną i różne języki zindeksowane w wyszukiwarkach. Wtedy możesz się spodziewać znaczącego ruchu z odległych zakątków i jeśli DNS-y będą powolne w tych rejonach, wówczas może to wpłynąć na wyniki jakie odnotowuje Google.

Jak to wygląda na testach DiDHost

Długo zastanawialiśmy się nad rozwiązaniami jakie moglibyśmy wdrożyć dla naszych Klientów Hostingu WordPress w kontekście DNS Anycast. Przeprowadziliśmy wiele prób i przeanalizowaliśmy dostawców, bo nie zawsze jest sens wyważać otwarte drzwi.

Byliśmy blisko CloudFlare, potem Roure 53 Amazona, NS1, Constellix, potem…, a w końcu wróciliśmy do CloudFlare 😀

Przykład czasów odpowiedzi DNS dla Roure 53 Amazona:

DNS Anycast na DiDHost

I jeszcze jeden przykład kolejnego pretendenta do obsługi DNS (NS1), którego również intensywnie testowaliśmy. Jego wyniki są także zadowalające.

ns

Zazieleniło się w stosunku do wsześniejszych, prawda? Praktycznie na każdym kontynencie. Dzięki temu czasy odpowiedzi w poszczególnych obszarach geograficznych są po prostu lepsze.

CloudFlare

Wspomniałem wyżej o CloudFlare. W podstawowych testach wydajności wyniki są bardzo dobre. Oto przykład z innego konta Hostingu WordPress DiDHost, którego domena została podpięta pod CloudFlare.

Wyniki szybkości DNS dla CloudFlare

Z końcem czerwca 2022 zdecydowałem się wdrożyć CloudFlare produkcyjnie na wooj.pl. Wynik okazał się bardzo zbliżony:

wooj

Testy GTMetrix z dwóch lokalizacji

Przyjrzyjmy się kolejnym testom. Tym razem wykonanym za pośrednictwem GTMetrix z Londynu (Wielka Brytania) i Sydney (Australia). Jak widzisz wybrałem odległy dystans 🙂

Zaczynaliśmy od home więc i tym razem zachowamy taką kolejność. Najlepszy wynik jaki udało mi się uzyskać podkreślony jest czerwoną linią. Home uzyskało w tym teście niecałe 23 ms dla Londynu i nieco ponad 10 ms dla Sydney. Bardzo dobre czasy!

Londyn (Wielka Brytania)

czas home

Sydney (Australia)

au home

Kolejny dostawca na liście to nazwa. Tu wynik nieco gorszy, bo przekracza 50 ms dla Londynu i 47 dla Sydney. To dość standardowe czasy.

Londyn (Wielka Brytania)

czas nazwa

Sydney (Australia)

au nazwa

Z kolei cyberFolks powyżej 60 ms dla Londynu i ponad 300 ms dla Sydney – złapaliśmy czas mrugnięcia okiem 🙂

Londyn (Wielka Brytania)

czas cyber

Sydney (Australia)

au cyber

OVH osiąga podobny wynik jak home jeśli chodzi o Londyn, ale już z Sydney czas jest dłuższy. Wcześniejsze mapki mogły sugerować, że OVH.pl nie korzysta z DNS Anycast, ale poniższe dane wskazują na to, że jednak tak. Nie trudno się dziwić skoro mają swoje serwerownie uruchomione w różnych miejscach na świecie w tym także w Australii 🙂

Londyn (Wielka Brytania)

czas ovh

Sydney (Australia)

ovh au

Mamy jeszcze LH, który dla Londynu wypada podobnie jak w przypadku nazwy, ale też gorzej od niej i od pozostałych w teście z Australii:

Londyn (Wielka Brytania)

czas lh

Sydney (Australia)

au lh

Ważne: Trzeba wziąć poprawkę na fakt, że czasy mogą się zmieniać w zależności od pory dnia (większe, mniejsze obciążenia infrastruktury i sieci). Powyższe testy wykonałem w sobotę pomiędzy godziną 18-19. W weekend i pod wieczór obciążenia są nieco mniejsze niż w dzień roboczy w godzinach pracy biur. W Australii czas moich testów to mniej więcej 1-2 w nocy więc sieć odpoczywa.

Popatrzmy jeszcze jak wypadły testy wooj.pl na DNS-ach CloudFlare:

Londyn (Wielka Brytania)

woogb

Sydney (Australia)

wooau

W tym miejscu powinna zapaść cisza. Niestety nie wiem jak ją „napisać” więc tego nie zrobimy. Jeśli kiedykolwiek szukałeś informacji na temat CloudFlare być może podejrzewałeś, że CF uzyska najlepsze metryki. Faktycznie patrząc na powyższy wynik nie ma wątpliwości. Londyn i Australia celująco. Australia nawet z plusem 🙂

Jak wiesz w obszarze naszych zainteresowań był także DNS Anycast Amazona.

Londyn (Wielka Brytania)

amazon eu

Sydney (Australia)

amazin au

Londyn: 8,1 ms, Sydney 6,9 ms. Jak widzisz mamy tu bardzo dobre czasy, podobne do tych uzyskanych na CloudFlare zwłaszcza jak chodzi o Londyn. Ale zobaczmy jeszcze jednego operatora NS1, którego również braliśmy pod lupę w kontekście wdrożenia na DiDHost. Wyniki:

Londyn (Wielka Brytania)

czas ns

Sydney (Australia)

au ns

W obu lokalizacjach rewelacyjne dane. Londyn: 7,9 ms, Sydney: 6,4 ms. Bardzo zbliżone do tego co widziałeś w przypadku Amazona, można wręcz powiedzieć, że prawie identyczne.

W naszym teście patrzymy wyłącznie na czas znalezienia informacji w książce telefonicznej DNS. Pozostałe czasy widoczne na powyższych zrzutach są sumowane i razem dają ostateczny wynik. Im krótszy czas reakcji DNS i im krótszy czas reakcji pozostałych zasobów tym nasza strona szybciej pojawi się w oknie przeglądarki 🙂

Na DiDHost ostatecznie udostępniliśmy Klientom możliwość korzystania z DNS Anycast CloudFlare z naszym wsparciem bez konieczności zakładania osobnych kont. Strefami DNS CloudFlare można zarządzać z poziomu Panelu Klienta na didhost.pl 🙂

Niektórzy operatorzy hostingu za takie usługi jak DNS Anycast pobierają dodatkowe opłaty, które mogą być zaszyte w kosztach utrzymania domeny czy tego chcemy czy nie lub podane otwarcie jako osobna usługa. To co ważne: CloudFlare w standardowej wersji dostępne jest bez opłat, a zawiera nie tylko DNS Anycast, ale także DNSSEC, CDN i wiele więcej 🙂 To wszystko znajdziesz w Panelu DiDHost.

Podsumowanie

Sporo testów za nami, a ich wyniki dość zróżnicowane.

Mało kto zwraca uwagę na to, jak długo będzie rozwiązywana nazwa domeny na jej adres IP, ale widać, że mogą to być czasy od kilku ms po kilkaset.

Tak jak wspomniałem ten czas jest cegiełką dokładaną do ogólnego wyniku szybkości ładowania się strony. Dbając o wszystkie cegiełki masz szansę na poprawę wydajności swojej strony. Warto mieć tego świadomość.

Udostępnij

Zobacz również

Luka w WooCommerce

Poważna luka bezpieczeństwa w WooCommerce

Ważna informacja dla tych wszystkich z Was, którzy na swoich stronach (sklepach) wykorzystują wtyczkę WooCommerce. 13 lipca została wykryta krytyczna luka umożliwiająca atak SQL Injection.

Publikacje prosto na Twój email!

Zapisz się i obserwuj co dzieje się na Wooj, Uczymyjak i PoznajWP

W każdej chwili możesz zrezygnować z subskrypcji. Twój adres jest bezpieczny.

Polecane Oferty LifeTime!

WooLentor Lifetime Deal

WooLentor

Builder dla WooCommerce. Zaprojektujesz strony koszyka, zamówienia, konta klienta, produktów itd… Do tego ogrom innych funkcji, pozwalających zwiększyć konwersję.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.