DNS speed test

Program testujący szybkość serwera DNS wymaga zainstalowania (Python interface to Tcl/Tk):
yum install tkinter
Sam tester pobieramy i rozpakowujemy:
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/namebench/namebench-1.3.1-source.tgz
tar xvfvz namebench-1.3.1-source.tgz
Test inicjujemy poleceniem dopytującym serwery z pliku "resolv.conf":
./namebench.py -S
Test pobiera 2000 najpopularniejszych stron z serwisu Alexa i używa tych adresów do przeprowadzenia testów:
Przykładowe wyniki testów można zobaczy w tym wpisie: DNS cache: pdsnd



********

Więcej informacji:
Informatyka, FreeBSD, Debian


***

Inne wpisy:



Update: 2018.07.17
Create: 2018.07.17

DNS cache: pdsnd

Obecnie bardziej jest popularne oprogramowanie "dnsmasq", ale z serwera "pdnsd" korzystam od lat i często wykorzystuję te przetestowane oprogramowanie. Uwaga: należy rozróżnić programy "pdns" i "pdnsd". Instalacja:
#http://members.home.nl/p.a.rombouts/pdnsd/dl.html
wget http://members.home.nl/p.a.rombouts/pdnsd/releases/pdnsd-1.2.9a-par.src.rpm
yum install rpm-build
yum groupinstall "Development tools"
rpmbuild --rebuild pdnsd-1.2.9a-par.src.rpm

W przypadku problemów z kompilacją, lub zgodnościami można ściągnąć paczkę i ja zainstalować:
rpm -i pdnsd-1.2.9a-par_sl6.x86_64.rpm

Następnie należy sprawdzić, czy coś już nie słucha na porcie 53:
netstat -lnp4 |grep 53

Po sprawdzeniu można uruchomić daemon'a:
/etc/init.d/pdnsd start

Przykładowy plik konfiguracyjny:
Config:
global {
perm_cache = 8182;
cache_dir = "/var/cache/pdnsd";
run_as="pdnsd";
server_ip = 127.0.0.1;
#interface = ;
linkdown_kluge=on;
status_ctl = on;
paranoid = off;
query_method = udp_only;
tcp_server = off;
min_ttl = 60m;
max_ttl = 1w;
timeout = 10;
proc_limit = 1;
randomize_recs = on;
udpbufsize = 2048;
}
server {
label = pula_serwerow;
uptest = query;
interval = 30;
preset = off;
query_test_name = ".";
ping_timeout = 30;
timeout = 5;
purge_cache = off;
caching = on;
ip = 10.9.16.110.9.8.2391.193.144.114; #atos/amg
ip = 10.105.60.205; #atos/amg
ip = 8.8.8.88.8.4.4; #google
}
#server {
# label = "root-servers";
# root_server = on;
# exclude = .localdomain;
# policy = included;
# ip = discover;
# ip = 198.41.0.4,
192.228.79.201,
192.33.4.12,
128.8.10.90,
192.203.230.10,
192.5.5.241,
192.112.36.4,
128.63.2.53,
192.36.148.17,
192.58.128.30,
193.0.14.129,
198.32.64.12,
202.12.27.33;
#}
 
source {
owner = localhost;
# serve_aliases = on;
file = "/etc/hosts";
}
rr {
name = localhost;
reverse = on;
a = 127.0.0.1;
owner = localhost;
soa = localhost,root.localhost,42,86400,900,86400,86400;
}

Przykładowe testy: 
Dla serwerów sashabibi i jenna wykonałem test serwerów DNS: 10.9.16.1 i 10.9.8.23:  DNS speed test
(wpisy zastane w resolv.conf i zgodne z ip DNS przyznawanymi przez DHCP w LAN'ie)
Wyniki nie uwzględniają odpytań serwera 10.9.8.23, ponieważ jest niedostępny dla ww. serwerów.
Czwarta konsola pokazuje rezultat testów  laptopa podłączonego w LAN'ie. Na adresie 127.0.0.1 słucha DNS cache "pdnsd":

Następnie ten sam test wykonałem po uruchomieniu usługi "pdnsd":

Test serwera 10.9.16.1 z laptopa w sieci LAN:

Zestawienie wyników:
 
Czas najszybszej odpowiedzi
10.9.16.1
(ms)
Średni czas odpowiedzi
10.9.16.1
(ms)
Czas najszybszej odpowiedzi
127.0.0.1
(ms)
Średni czas odpowiedzi
127.0.0.1
(ms)
sasha:1,2134,01,5126
bibni:1,5235,21,269,0
jenna:1,3124,01,1111,1
laptop:1,169,00,512,0

Te uproszczone testy pozwalają wnioskować, że zastosowanie lokalnego cache DNS zmniejsza średni czas odpowiedzi. Lepsze rezultaty uzyska się na mniej przeciążonych serwerach, a znaczenie tej modyfikacji zależy od ilości zapytań do serwerów DNS generowanych przez aplikację (np.: od liczby nawiązywanych połączeń na sekundę).



********

Więcej informacji:
Informatyka, FreeBSD, Debian


***

Inne wpisy:



Update: 2018.07.17
Create: 2018.07.17