LINUX.ORG.RU

dns cache


0

0

Здравствуйте. Есть программа, которая много резолвит имена в ип адреса. Есть ли смысл организовывать собственный внутренний кеш, или поиск по нему будет медленнее чем запрос к днс серверу? К тому же если днс сервер сам кеширует запросы?

anonymous

Есть смысл. Только не надо для этого BIND ставить, это слишком монстровитая программа.

Лично я пользую pdns-recursor, но это только потому, что он мне первый под руку попался. Есть и много других лёгких кэширующих DNS-серверов.

Особенно этот смысл есть на диалапе.

Teak ★★★★★
()

>Есть ли смысл организовывать собственный внутренний кеш, или поиск по нему будет медленнее чем запрос к днс серверу?

ну всё зависит от кол-ва ип адресов в кеше и его производительности ;) ну и от сети с сервером с которым буишь сравнивать.

Pi ★★★★★
()
Ответ на: комментарий от Pi

Вот потому и спрашиваю. Соединение с инетом весьма быстрое (не меньше 10 мбит), а объем адресов может достигнуть сотен тысяч. Приложение многопоточное, т.е. кеш еще должен быть thread-safe. Вот я и задумался, что будет быстрее - чтобы каждый поток сам все резолвил у днс сервера, или обращался к своему кешу, к которому в то же время обращаются куча других таких же, даже если принять, что поиск по кешу будет значительно быстрее, и резолвинг в самом кеше тоже многопоточный, то по-моему его использование все равно может себя не оправдать.

P.S. Как вы думаете, http://directory.fsf.org/GNU/libavl.html - threaded - означает thread-safe ?

anonymous
()
Ответ на: комментарий от anonymous

Почему бы тебе просто не протестировать оба варианта?

Хотя из общих соображений представляется очевидным, что собственный кэш быстрее, чем точно такой же кэш во внешнем процессе. Но стоит ли эта разница того, чтоб тащить код этого кэша в программу - проще всего узнать тестированием.

Но вообще, premature optimization is the root of all evil.

Teak ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.