Как измерить DNS-запросов в секунду
Если вы не используете свой собственный DNS-сервер (или если вы должны запустить свой собственный, чтобы сделать это, как вы думаете), как бы вы измерили, сколько DNS-запросов в секунду вы получаете для своего домена?
Можно ли как-то сказать, пришел ли веб-запрос с использованием вашего DNS-сервера в качестве авторитетного источника или кэшированного результата?
Идея состоит в том, чтобы определить, достаточно ли вы удовлетворяете спрос с помощью существующего DNS-сервера.
4 ответа
Краткий ответ: в вашей ситуации вы не можете сказать.
Если у вас есть DNS-хостинг, я бы посоветовал связаться с хостинг-провайдером, чтобы обсудить этот вопрос. Совершенно очевидно, что они не будут готовы предоставить вам доступ к журналам или любой другой реальной информации, но они должны, по крайней мере, дать вам представление о том, хорошо ли справляется их система. Я полагаю, что их система обеспечивает DNS для других клиентов, а также для вас самих, поэтому, если они не успевают, они будут получать жалобы.
Если вы запускаете DNS-сервер, я предпочитаю решение joeqwerty (программу захвата, например DSC), а не решение tinkertim (включенное при ведении журнала запросов), поскольку ведение журнала запросов:
- DNS-сервер зависит от программного обеспечения
- замедляет сервер имен
В любом случае, независимо от того, запускаете ли вы DNS-сервер или нет, вы не можете сказать, что произошло на стороне клиента. Если ваш сервер имен получает DNS-запрос, вы можете быть уверены, что это означает, что он не находится в кэше на другой стороне. Если вы не получили запрос, вы ничего не знаете.
Запустите программу захвата пакетов на DNS-сервере, запустите перехват и отфильтруйте только для DNS, запустите перехват в течение часа, рассчитайте данные, собранные в перехвате.
AFAIK, нет способа узнать, как клиент разрешил поиск DNS, если вы не запустили захват пакета на клиенте.
Хотя это замедляет работу сервера (чуть-чуть), вы можете просто включить ведение журнала запросов. Это создает журнал запросов с отметкой времени. После этого его сравнительно легко взять в среднем за периоды времени.
Это довольно легко сделать в большинстве версий BIND, не уверенный в других. Я использую то же самое, чтобы контролировать некоторые DNS-серверы, у которых у нас нет выбора, кроме как разрешить почти широкую открытую рекурсию.