namebench: тестирование DNS-серверов






Время, затрачиваемое системой на получение ответа от DNS-сервера, как правило, невелико. Особенно, если обслуживающий вас DNS-сервер является кэширующим и вы подключены к нему по высокоскоростному каналу передачи данных. Однако иногда бывают случаи, когда вам необходимо выбрать максимально быстрый для вас DNS-сервер, обеспечивающий минимальное время отклика. Причиной тому может быть либо слишком медленные ответ от вашего текущего DNS-сервера, либо вы администрируете свой собственный DNS-сервер, обслуживающий множество хостов в сети и вам хотелось бы максимально увеличить его производительность. В этой заметке речь пойдёт о namebench — программой для поиска наиболее быстрого DNS-сервера относительно вашего местоположения в Сети.


namebench написан на Python и распространяется в виде исходных кодов и готовых сборок под Mac OS X и MS Windows. Программа имеет как интерфейс командной строки, так и графический. Лично я пробовал запускать её только под Ubuntu 10.10 и Python 2.6.6 о чём и рассказываю в ниже.

Установка

Получить namebench можно со страницы загрузок проекта на Google Code.  После того, как получите архив с исходными кодами, распакуйте его в удобное для вас место:

Если планируете использовать namebench с графическим пользовательским интерфейсом, также установите python-tk, если он ещё не установлен:

Запуск в режиме командной строки

Чтобы запустить namebench в режиме по-умолчанию, просто запустите исполняемый его из каталога, в который вы распаковали архив с исходными кодами, указав опцию '-x':

После чего можете отправляться варить кофе, пока namebench будет выполнять великое множество всевозможных тестов. После завершения тестов вы получите в поток стандартного вывода результаты. Вот некоторые из тех, что получились у меня:

Рекомендуемая конфигурация списка DNS-серверов:

Также в конце теста вы получите ссылки на графики (на chart.apis.google.com) и файлы отчётов в формате html и csv (в каталоге /tmp вашей системы). Открыв html-отчёт, вы увидите массу полезной информации, полученной в результате исследований, проведённых программой:

Если вам нужно что-то изменить в стандартном поведении namebench, вы всегда можете воспользоваться опциями командной строки. Полный список опций можно получить здесь или при помощи опции '-h' переданной namebench при запуске:

Запуск в графическом режиме

Если у вас установлен Tkinter (пакет pyhon-tk в Ubuntu), то при запуске namebench без параметров, программа запустится в графическом режиме, с помощью которого вы можете настроить некоторые опции поведения программы и запустить тестирование. После завершения работы программы html-отчёт автоматически откроется в браузере по-умолчанию.