Предисловие:
У нас есть кэширующие резолверы в каждом из наших географических сетевых местоположений. Они кластеризованы для обеспечения отказоустойчивости, а их локальность сокращает задержку внутренних запросов, генерируемых нашими серверами.
Это работает хорошо. За исключением того, что огромное количество запросов, которые видны по сети, являются поисками тех же записей, сгенерированных приложениями, которые не выполняют никакого собственного кэширования DNS.
Вопросы:
Есть ли существенная выгода от запуска облегченных демонов кэширования на отдельных серверах с целью сокращения количества повторных запросов, поступающих в сеть?
Есть ли у кого опыт использования
[u]nscd
,lwresd
илиdnscache
сделать такое? Есть ли еще какие-нибудь пакеты, на которые стоит обратить внимание?Есть ли какие-то предостережения, которых следует остерегаться? Помимо очевидных, кэширование и отрицательное кэширование устаревают результаты.
решение1
Мы используем nscd на нескольких сотнях машин, по моему опыту, он "просто работает". Он значительно снизил нагрузку на наши DNS-серверы.
Единственное, на что следует обратить внимание, — по умолчанию кэшируются поиски групп/пользователей/служб, а также поиски хостов. Возможно, вы захотите отключить эту функцию (в нашем случае мы хотели кэшировать и эти поиски).
Помню, много лет назад у меня были проблемы с nscd, но последние версии, похоже, значительно улучшились.
решение2
Я использовал nscd в нескольких средах, и, по словам других, он «просто работает», но если ваши кэширующие резолверы на каждом сайте работают правильно, я бы сказал, что у локального кэширования нет особых преимуществ: задержка должна быть низкой, и вы не отправляете никаких дополнительных запросов во внешний мир, а просто генерируете дополнительный внутренний трафик.
Меня пару раз кусало nscd, который хранил устаревшую запись и из-за этого получал «одну сломанную машину», поэтому мой параноидальный совет: если внутренняя болтовня DNS не сильно влияет на производительность, не беспокойтесь о локальном кэше (а если производительность все же влияет, задокументируйте существование nscd, чтобы не забыть очистить его кэш, если вы когда-нибудь внесете срочные изменения).