Dns tests: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
(Новая: =Сравнение производительности разных DNS-серверов= ==Задача теста== Задача теста: cравнить производител...)
 
Строка 12: Строка 12:
   
 
Для tinydns - вытаскиваем зоны из bind при помощи axfr-get, для named - просто копируем файлы зон, powerdns имеет собственный механизм и вытаскивает зоны сам. Проверить это можно по соответсвующим записям в базе данных
 
Для tinydns - вытаскиваем зоны из bind при помощи axfr-get, для named - просто копируем файлы зон, powerdns имеет собственный механизм и вытаскивает зоны сам. Проверить это можно по соответсвующим записям в базе данных
  +
<PRE>
 
Код
 
 
mysql> select count(*) from records;
 
mysql> select count(*) from records;
 
+----------+
 
+----------+
Строка 21: Строка 20:
 
+----------+
 
+----------+
 
1 row in set (0.00 sec)
 
1 row in set (0.00 sec)
  +
</PRE>
 
   
 
итого - имеем 3 работающих авторитативных сервера, каждый слушает свой адрес, отвечают они за одни и те же зоны.
 
итого - имеем 3 работающих авторитативных сервера, каждый слушает свой адрес, отвечают они за одни и те же зоны.
   
   
2. Из файлов зон bindа создаем файлик с запросами примерно такого вида
+
Из файлов зон bindа создаем файлик с запросами примерно такого вида
  +
<PRE>
Код
 
 
...
 
...
 
forum.airbites.kh.ua A
 
forum.airbites.kh.ua A
Строка 36: Строка 35:
 
misery.airbites.kh.ua A
 
misery.airbites.kh.ua A
 
....
 
....
  +
</PRE>
 
 
т.е. домен и что нас в тесте про него интересует.
 
т.е. домен и что нас в тесте про него интересует.
 
Всего у меня получилось 13921 записей.
 
Всего у меня получилось 13921 записей.
   
 
Для чистоты эксперемнта каждый запрос записываем 4 раза.
 
Для чистоты эксперемнта каждый запрос записываем 4 раза.
Приступаем к тестам:
 
   
  +
первый - tynydns
 
  +
==TinyDNS==
Код
 
 
первый - tinydns
  +
<PRE>
 
anarxist bin # ./dnsperf -d ./real_q3 -s 172.16.30.146
 
anarxist bin # ./dnsperf -d ./real_q3 -s 172.16.30.146
   
Строка 99: Строка 99:
   
 
Queries per second: 4955.831574 qps
 
Queries per second: 4955.831574 qps
  +
</PRE>
  +
   
 
Повторяем тест еще 2 раза
 
Повторяем тест еще 2 раза
  +
<PRE>
Код
 
 
 
Queries per second: 4955.831574 qps
 
Queries per second: 4955.831574 qps
 
Queries per second: 4953.973704 qps
 
Queries per second: 4953.973704 qps
  +
</PRE>
 
   
 
Расхождения в разных замерах незначительны.
 
Расхождения в разных замерах незначительны.

Версия 13:39, 8 марта 2009

Сравнение производительности разных DNS-серверов

Задача теста

Задача теста: cравнить производительность 3-х авторитативных DNS-серверов и выбрать наиболее производительный для дальнейего использования

Подготовка

Запускаем и настраиваем 3 сервиса - tinydns (из пакета djbdns), bind и powerdns

udp        0      0 172.16.30.146:53        0.0.0.0:*                           14232/tinydns
udp        0      0 172.16.30.147:53        0.0.0.0:*                           16044/named
udp        0      0 172.16.30.148:53        0.0.0.0:*                           21494/pdns_server-i

Для tinydns - вытаскиваем зоны из bind при помощи axfr-get, для named - просто копируем файлы зон, powerdns имеет собственный механизм и вытаскивает зоны сам. Проверить это можно по соответсвующим записям в базе данных

mysql> select count(*) from records;
+----------+
| count(*) |
+----------+
|    21642 |
+----------+
1 row in set (0.00 sec)

итого - имеем 3 работающих авторитативных сервера, каждый слушает свой адрес, отвечают они за одни и те же зоны.


Из файлов зон bindа создаем файлик с запросами примерно такого вида

...
forum.airbites.kh.ua A
fleur.airbites.kh.ua A
oberon.airbites.kh.ua A
mill.airbites.kh.ua A
foto.airbites.kh.ua A
misery.airbites.kh.ua A
....

т.е. домен и что нас в тесте про него интересует. Всего у меня получилось 13921 записей.

Для чистоты эксперемнта каждый запрос записываем 4 раза.


TinyDNS

первый - tinydns

anarxist bin # ./dnsperf -d ./real_q3 -s 172.16.30.146

DNS Performance Testing Tool

Nominum Version 1.0.1.0

[Status] Processing input data
[Status] Sending queries (to 172.16.30.146)
[Timeout] Query timed out: msg id 12387
[Timeout] Query timed out: msg id 12640
[Timeout] Query timed out: msg id 12988
[Timeout] Query timed out: msg id 13313
[Timeout] Query timed out: msg id 13340
[Timeout] Query timed out: msg id 13877
[Timeout] Query timed out: msg id 26308
[Timeout] Query timed out: msg id 26561
[Timeout] Query timed out: msg id 26909
[Timeout] Query timed out: msg id 27234
[Timeout] Query timed out: msg id 27261
[Timeout] Query timed out: msg id 27798
[Timeout] Query timed out: msg id 40229
[Timeout] Query timed out: msg id 40482
[Timeout] Query timed out: msg id 40830
[Timeout] Query timed out: msg id 41155
[Timeout] Query timed out: msg id 41182
[Timeout] Query timed out: msg id 41719
[Timeout] Query timed out: msg id 54150
[Timeout] Query timed out: msg id 54403
[Timeout] Query timed out: msg id 54751
[Timeout] Query timed out: msg id 55076
[Timeout] Query timed out: msg id 55103
[Timeout] Query timed out: msg id 55640
[Status] Testing complete

Statistics:

  Parse input file:     once
  Ended due to:         reaching end of file

  Queries sent:         55684 queries
  Queries completed:    55660 queries
  Queries lost:         24 queries

  Avg request size:     55 bytes
  Avg response size:    156 bytes

  Percentage completed:  99.96%
  Percentage lost:        0.04%

  Started at:           Sun Oct 19 20:36:29 2008
  Finished at:          Sun Oct 19 20:36:40 2008
  Ran for:              11.231213 seconds

  Queries per second:   4955.831574 qps


Повторяем тест еще 2 раза

  Queries per second:   4955.831574 qps
  Queries per second:   4953.973704 qps

Расхождения в разных замерах незначительны.


второй - bins

Код ./dnsperf -d ./real_q3 -s 172.16.30.147

DNS Performance Testing Tool

Nominum Version 1.0.1.0

[Status] Processing input data [Status] Sending queries (to 172.16.30.147) [Status] Testing complete

Statistics:

 Parse input file:     once
 Ended due to:         reaching end of file
 Queries sent:         55684 queries
 Queries completed:    55684 queries
 Queries lost:         0 queries
 Avg request size:     55 bytes
 Avg response size:    130 bytes
 Percentage completed: 100.00%
 Percentage lost:        0.00%
 Started at:           Sun Oct 19 20:39:40 2008
 Finished at:          Sun Oct 19 20:39:42 2008
 Ran for:              2.267926 seconds
 Queries per second:   24552.829325 qps

и еще 2 раза Код

 Queries per second:   24531.790573 qps
 Queries per second:   24697.852266 qps


Третий - PowerDNS

Код anarxist bin # ./dnsperf -d ./real_q3 -s 172.16.30.148

DNS Performance Testing Tool

Nominum Version 1.0.1.0

[Status] Processing input data [Status] Sending queries (to 172.16.30.148) [Status] Testing complete

Statistics:

 Parse input file:     once
 Ended due to:         reaching end of file
 Queries sent:         55684 queries
 Queries completed:    55684 queries
 Queries lost:         0 queries
 Avg request size:     55 bytes
 Avg response size:    73 bytes
 Percentage completed: 100.00%
 Percentage lost:        0.00%
 Started at:           Sun Oct 19 20:42:24 2008
 Finished at:          Sun Oct 19 20:42:25 2008
 Ran for:              1.668728 seconds
 Queries per second:   33369.129061 qps


и еще 2 теста Код

 Queries per second:   33367.809328 qps
 Queries per second:   33868.718269 qps



Наводит на мысли, что такое отставание tinydns связано с тем что что-то не так с файлом запросов, только при запросе к tinydns возникают ошибки