Назад | Перейти на главную страницу

Снижение чрезмерных DNS-запросов, вызванных CDN

Вот ситуация, я недавно установил несколько своих сайтов на CDN (в частности, ProCDN от MediaTemple через Edgecast). Настройка прошла нормально, но через пару дней я заметил следующее: (В среднем от 15K в день до 600K)

Теперь мои домены / cdn настроены так:

Во-первых, будет ли моя установка учитывать это чрезмерное увеличение количества DNS-запросов? (Сайты, на которых установлена ​​CDNS, в настоящее время получают минимальное количество посетителей (вероятно, менее 10 в день)).

Во-вторых, если это совершенно нормально, есть ли способ обойти это? У меня 10 миллионов управляемых запросов через DNS Made easy, и при текущих темпах я собираюсь подняться на определенный ручей без весла ...

Я думаю, что могу обойти половину этого, разместив каждый домен на статическом IP-адресе и установив в качестве источника статические IP-адреса, однако это далеко не идеально, поскольку у меня довольно много сайтов. Есть ли другие варианты?

Основная причина слишком большого количества DNS-запросов - слишком низкий TTL. Ваши низкие, но не безумно низкие. (Я видел 60 и 1 как TTL в производственных системах.)

digitaldawn.net.        1800    IN  A   109.73.163.166

www.digitaldawn.net.    3600    IN  A   208.94.146.71
www.digitaldawn.net.    3600    IN  A   208.94.146.70
www.digitaldawn.net.    3600    IN  A   208.94.146.80
www.digitaldawn.net.    3600    IN  A   208.94.146.81

cdn.digitaldawn.net.        1800    IN  CNAME   wpc.7b5c.edgecastcdn.net.
wpc.7b5c.edgecastcdn.net.   3600    IN  CNAME   gs1.wpc.edgecastcdn.net.
gs1.wpc.edgecastcdn.net.   14400    IN  A       93.184.221.133

Если вы не меняете IP-адрес, на который указывают эти домены чаще, чем один раз в день, вам будет лучше изменить TTL на что-то вроде 86400 (24 часа). Вы можете подняться выше, если можете быть уверены в том, что у вас есть хотя бы период времени в TTL предварительного убывания, когда вам может потребоваться изменить IP-адрес.

Для cdn.digitladawn.net субдомен, даже если вы установите TTL равным 86400, только эта строка в приведенном выше выводе будет кэшироваться на 24 часа. Если wpc.7b5c.edgecastcdn.net При изменении ответа все клиенты должны были принять новое значение максимум через один час (игнорируя пока те DNS-серверы, которые игнорируют ваши TTL).

Две другие причины слишком большого количества DNS-запросов, которые я видел, - это слишком много клиентов (скажем, тысячи пограничных серверов CDN, которые все обращаются к вашим авторитетным серверам имен) или один некорректный клиент (возможно, скрипт на вашем собственном сервере), который выполняет поиск десятки раз в секунду. Примером этого может быть обратный прокси, который использует backend.digitaldawn.net в качестве своего восходящего сервера и делает DNS-запрос для этого домена для каждого HTTP-запроса, который он должен проксировать. Эту проблему может решить добавление кэширования DNS на этот сервер или запуск собственного полномочного сервера имен в производственной среде.

Если вы сможете получить более точную статистику для ваших серверов имен (например, IP-адреса всех клиентов, которые выполняли поиск), вы сможете диагностировать проблему такого рода.