Вот ситуация, я недавно установил несколько своих сайтов на 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-адреса всех клиентов, которые выполняли поиск), вы сможете диагностировать проблему такого рода.