Pokrewne
menu      Strefa dns: wpisy TXT, Wildcards, multi A, multi AAAA, multi TXT
menu      Trust SC-5250 vs Trust SC 7200??
menu      Przeniesienie domeny na inny serwer dedykowany, niedozwolona aktualizacja DNS second.
menu      Wordpress MU (Multi User) a wpis DNS catchall
menu      Serwey DNS dla nowo dodanych domen
menu      Sec DNS - problem z dodaniem domeny
menu      Adresy DNS serwera RPS
menu      DNS serwer CENTOS + CPANEL
menu      DNS domeny z NASKU problem
menu      Apache chroot i problem z DNS
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • kudrzwi.htw.pl
  • DNS cache: 127.0.0.1 vs Google





    oles@ovh.net - 13-12-2009 15:12
    DNS cache: 127.0.0.1 vs Google
      Witam,
    Od kliku dni obserwuję coraz więcej postów, w których administratorzy serwerów
    mówia o codziennych problemach i z pewnym zdziwieniem zauważyłem, że m.in.
    mowa jest o tym, iż zaczęli uzywać serwerów DNS cache google na serwerach.
    Zamiast lkalnego serwera DNS cache. Stary dobry 127.0.0.1!

    Na desktopie, gdzie używa się Windows, Linuks lub Mac i który jest używany do
    pracy w Internecie, emaili lub innych rzeczy związanych z Internetem, używanie
    zewnetrznego DNS cache (czy to googla, czy swojego ISP) ma sens, ponieważ
    odpytujecie DNS'y za każdym razem, kiedy odwiedzacie Internet.

    Z drugiej strony używanie zewnetrznego serwera DNS na serwerze powoduje co
    najmniej "tylko" spowolnienei jego działania. W najgorszym przypadku, może to
    spowodować usterkę serwera, ze względu na zmniejszoną wydajność. Ponieważ
    nie będzie obsługiwał tyle zapytań ile powienien (po co zatem bi-cpu, 24GB RAM
    z dyskami SSD).

    Dalczego ?
    ----------
    DNS pozawala rozwiązywać nazwy domen na adresy IP. Serwer wykonuje tego
    rodzaju operację za każdym zapytaniem, które otrzymuje i dla wszystkich rodzajów
    zapytań. To co chcę powiedzieć to to, że serwer cały czas wykonuje DNS cache,
    żeby wiedzieć, czy otrzymany adres IP ma rewers, jaki jest rewers dla danego IP...
    To jest podstawowa operacja wykonywana przez serwer, bez której serwer nie
    może dobrze wykonywać swoich zadań. Mieć szybki serwer, to znaczy przede
    wszystkim szybko realizować zapytania DNS. I jeśli DNS cache jest wolny, cały
    serwer pracuje wolno. Wiele z serwerów naszych Klientów, które mają problem jest
    najpierw sprawdzana pod tym kątem na początku.

    Rozwiązanie
    -----------
    Bardzo łatwe, szybkie (12 sekund) i skuteczne: instalacja serwera DNS cache na
    serwerze. "apt-get install bind9" i za 12 sekund Wasz serwer jest już 3 razy szybszy!
    Przynajmniej 3 razy!

    Dlaczego nie zewnętrzny serwer DNS cache?
    ---------------------------------------------
    Ponieważ serwer, który nie ma cache lokalnie, będzie wykonywał kilkukrotnie to
    samo zapytanie i to zdalnie! Z powodu latnecji sieci, odpowiedzi zewnętrznego
    serwera DNS będą wolniejsze od odpowiedzi serwera lokalnego (na 127.0.0.1).
    Nie mówie tu o 1-szym zapytaniu, ale o zapytania do cache lokalnego. Co więcej,
    serwer DNS odpowie w tym samym czasie (bardzo szybko), ale odległość pomiędzy
    serwerem DNS a Waszym serwerem spowoduje spowolnienie, a to z kolei spowoduje
    spowolnienie działania Waszego serwera.

    Dowody?
    ---------
    Uruchomiłem 1000 razy rozwiązanie domeny .... google.com....

    1.) rozwiązywanie na DNS cache google
    (8.8.8.8 / 8.8.4.4)

    # time (for i in `seq 1 1000`; do dig google.com @8.8.8.8 > /dev/null 2>>/dev/null; done)
    real 0m22.914s
    user 0m3.800s
    sys 0m4.330s

    23 sekundy na rozwiązanie 1000 razy google.com

    2.) rozwiązanie na DNS cache zewnetrznym, ale w sieci OVH
    (serwer 213.186.33.99)

    # time (for i in `seq 1 1000`; do dig google.com @213.186.33.99 > /dev/null 2>>/dev/null; done)
    real 0m8.051s
    user 0m3.220s
    sys 0m4.580s

    8 sekund dla tej samej operacji,
    co daje 2.87 raza szybciej

    3.) rozwiązanie na DNS lokalnym
    (127.0.0.1)

    # time (for i in `seq 1 1000`; do dig google.com @127.0.0.1 > /dev/null 2>>/dev/null; done)
    real 0m6.613s
    user 0m3.160s
    sys 0m4.340s

    6.6 sekund dla tej samej operacji,
    co daje 3.5 raza szybciej

    Wniosek
    -----------
    Jeżeli chcecie mieć serwer wydajny, który wykorzystuje dobrze wszystkie zasoby,
    zainstalujcie serwer DNS cache lokalnie. "apt-get install bind9" i macie 3.5 raza szybszy
    serwer. Co najmniej.

    Na desktopie latencja sieci nie ma już takiego znaczenia, ponieważ zapytań jest
    dużo mniej i w tym wypadku google lub Wasz IPS sprawdza się doskonale.

    Ale to tylko rada. Zrobicie, jak zechecie :)

    Pozdrawiam,
    Octave




    ollerm - 14-12-2009 10:51
    Oleś, ale kto zmusza Cie do używania dnsa z goolgla czy swojego lokalnego? Szukasz dziury w całym. Popraw lepiej działanie sdns1.ovh.net. Po ostatnim padzie waszego dnsa użyłem opendns i jakoś Twoje dowody mnie nie przekonują ;) A support 3010 przyjmował trzy dni zgłoszenie o awarii dnsa :D



    qermit - 15-12-2009 12:28
    ooh, aah, oooh aah, własny DNS cache.

    Ludzie jak czytam te wypociny o własnym DNS cache to prawie się przewróciłem.

    @oles -> wystarczy skonfigurować i odpalić demona nscd (man nscd, man nscd.conf). no, chyba że się nie umie.

    Poniżej zamieszczam mały test, przy wyłączonym NSCD używany jest serwer DNS z sieci lokalnej.
    Kod: kermit@bolelut:~$ time (for i in {1..100} ; do ping o2.pl -c 1; done) > /dev/null

    real    0m1.471s
    user    0m0.130s
    sys    0m0.200s
    kermit@bolelut:~$ sudo /etc/init.d/nscd start
    Starting Name Service Cache Daemon: nscd.
    kermit@bolelut:~$ time (for i in {1..100} ; do ping o2.pl -c 1; done) > /dev/null

    real    0m0.856s
    user    0m0.090s
    sys    0m0.380s
    kermit@bolelut:~$ time (for i in {1..100} ; do ping o2.pl -c 1; done) > /dev/null

    real    0m0.858s
    user    0m0.100s
    sys    0m0.390s
    kermit@bolelut:~$ sudo /etc/init.d/nscd stop
    Stopping Name Service Cache Daemon: nscd.
    kermit@bolelut:~$ time (for i in {1..100} ; do ping o2.pl -c 1; done) > /dev/null

    real    0m1.446s
    user    0m0.130s
    sys    0m0.280s Jak widać testy są powtarzalne.
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • konstruktor.keep.pl
  • Design by flankerds.com