Dns tests
Сравнение производительности разных 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 работающих авторитативных сервера, каждый слушает свой адрес, отвечают они за одни и те же зоны.
2. Из файлов зон 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 раза. Приступаем к тестам:
первый - tynydns Код 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 возникают ошибки