Dns tests: различия между версиями
Sirmax (обсуждение | вклад) (Новая: =Сравнение производительности разных DNS-серверов= ==Задача теста== Задача теста: cравнить производител...) |
Sirmax (обсуждение | вклад) |
||
Строка 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 работающих авторитативных сервера, каждый слушает свой адрес, отвечают они за одни и те же зоны. |
||
− | + | Из файлов зон 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 раза. |
||
− | Приступаем к тестам: |
||
+ | |||
⚫ | |||
+ | ==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 возникают ошибки