Раньше у меня был очень медленный поиск DNS на моей машине с Ubuntu при подключении через один модем / ISP. Я следовал инструкциям (таким как здесь ), чтобы использовать постоянное кэширование DNS, чтобы не повторять поиск DNS, и все стало намного быстрее. Тем не менее, я заметил, что при извлечении / переносе репозиториев на Mercurial было очень медленно даже передавать очень маленькие изменения. Посмотрев глубже, я обнаружил, что все время занималось _socket.getaddrinfo
, то есть поисками DNS. Почему все веб-браузеры используют информацию из /etc/pdnsd.conf
для использования старых поисков DNS, а сокеты питонов - нет. Как я могу заставить Mercurial использовать кэшированные запросы?
Обновление
Это также может быть связано с тем, что getaddrinfo пытается получить адреса ipv4 и ipv6 и возвращает ответ только после того, как ему не удается найти адрес ipv6. Я не уверен, как это проверить, то есть, из-за задержки из-за ipv6, непостоянства или из-за того и другого.
Обновление
Это может быть связано с запросами ipv6, как предлагается в ответе здесь , мне придется проверить это, как только я получу шанс.