В настоящее время я размещаю сервер TinyDNS, который обслуживает DNS-запросы для всех доменов с указанными серверами имен к серверу. Файл конфигурации данных:
.
+*:1.2.3.4
, где 1.2.3.4 является IP-адресом сервера. Он предназначен для использования в качестве DNS-сервера с подстановочными знаками (любой сервер имен, указывающий на этот сервер, будет возвращать записи A, указывающие на него самого).
Однако поиск DNS был очень медленным для этих доменов при попытке доступа к веб-сайту в домене, и я испытывал это на различных устройствах и сетях (иногда до 10 секунд). Записи DNS, которые передаются с моего DNS-сервера, каким-то образом искажены? Вот пример домена: http: // trp.do / s /
РЕДАКТИРОВАТЬ:
Я знаю, что это проблема DNS, а не проблема веб-сайта, путем вставки различных заголовков с отметками времени в разных точках стека запросов и ответов. Они находятся в пределах мс
, тогда как фактический запрос от начала до конца составляет около 5-10 секунд. При использовании Google Chrome он также застревает на «Разрешающем хосте» в левом нижнем углу. Я покопался глубже и использовал Rack-Mini-Profiler @ https://github.com/MiniProfiler/rack-mini-profiler для профилирования запросов и перечислил Поиск домена в диапазон также 5-10 секунд. Вот почему я совершенно уверен, что это проблема DNS, а не проблема производительности веб-сайта.
Что касается проблем, связанных с единой точкой отказа, я знаю об этом, но не думаю, что это должно постоянно влиять на производительность.
У меня животрепещущий вопрос ... Может ли искаженная запись DNS вызвать такую ситуацию?
Неправильный ответ от отдельного полномочного сервера вряд ли вызовет эту проблему. Независимо от того, занимает ли первый сервер слишком много времени для ответа и истекает время ожидания, или ответ имеет неправильный формат (усеченный, искаженный и т. Д.), Рекурсивный DNS-сервер может повторить попытку со следующим авторитетным сервером имен. Если все серверы возвращают поддельные данные, где-то есть серьезная проблема.
Это предполагает, что вы следуете передовым методам и используете несколько серверов имен, которые являются георедуктивными. Ваша конфигурация не соответствует этому стандарту по обоим параметрам. Может показаться, что здесь я забиваю мертвую лошадь, но это действительно основы DNS: такая конфигурация ставит под угрозу активы вашей компании, и вы в основном зависите от любых сетевых событий, происходящих между всеми в Интернете и ваш единственный геоизолированный сервер.
Начните с устранения этой проблемы. Пока вы его не решите, все остальное будет спорным. 5-10-секундная задержка вполне может быть связана с тем, что библиотека преобразователя пытается добавить ваши суффиксы поиска к исходному (неудачному) запросу, но текущая конфигурация в корне нарушена, и в данный момент нет смысла устранять неполадки.