Разрешение DNS в Chrome/Firefox на целую секунду дольше, чем в Safari

Коротко: я пытаюсь выяснить основную разницу в том, как Chrome и Firefox выполняют поиск DNS в macOS по сравнению с Safari.

Подробно: у меня есть HTML-страница, которая выполняет AJAX-запрос к случайно сгенерированному (на основе GUID) имени хоста на моем сервере. При загрузке страницы в Chrome или Firefox объект ResourceTiming показывает, что разрешение DNS занимает на целую секунду больше времени (примерно 1000 мс), чем в Safari.

Более подробно: что бы это ни вызывало, это происходит только на этом конкретном экземпляре macOS. Даже экземпляр виртуальной машины, работающий на этом же ноутбуке, не имеет проблемы.

Вывод при доступе из Chrome:

Получено: https://4-7-8a0e8a44-5a51-461f-8f89-36ca7130c503.lax-ns8ds.com

{
    "domainlookupstart_domainlookupend": 1234.699999971781,
    "connectstart_connectend": 48.79999998956919,
    "sslstart_connectend": 29.700000013690442,
    "responsestart_responseend": 0,7999999797903001,
    "fetchstart_responseend": 1308.000000019092,
    "orderstart_responseend": 22.200000006705523,
    "starttime_responseend": 1308.000000019092
}

и при доступе из Safari:

Получено: https://4-7-2ca9fb3f-f43d-4797-8745-cd11d20483af.lax-ns8ds.com

{
    "domainlookupstart_domainlookupend": 216,
    "connectstart_connectend": 113,
    "sslstart_connectend": 69.99999999999994,
    "responsestart_responseend": 1,
    "fetchstart_responseend": 358.0000000000001,
    "orderstart_responseend": 28.000000000000114,
    "starttime_responseend": 358.0000000000001
}

Очевидно, что другие временные параметры различаются сами по себе, но часть ResourceTiming для domainlookup постоянно отключается на ~ 1000 мс.

Такое чувство, что внутри происходит какое-то время, но я не уверен и не знаю, как копать глубже.

Тестовая HTML-страница настроена по адресу https://lax-ns8ds.com/wtf.html, хотя ее запуск сам по себе скорее всего ничего не даст (так как я не вижу ее сам на любой другой машине или экземпляре виртуальной машины моего своя).

Последняя деталь, о которой я могу подумать: я попытался использовать dtruss, чтобы увидеть, смогу ли я увидеть разницу в выполняемых системных вызовах, которая бы подсказала мне разницу между Chrome и Safari, но это не очень далеко.

0 ответов

Другие вопросы по тегам