На моем локальном компьютере разработчика Ubuntu 10.04, если я выполняю wget для веб-адреса, такого как "wget http://www.google.com", он застревает на странице" Разрешение www.google.com "на срок до 30 секунд, прежде чем будет получен ответ. Если я введу www.google.com в браузер, ответ будет практически мгновенным.
У меня есть аналогичный опыт использования urllib.urlopen () в python и file_get_contents () в php.
Причина, по которой я хочу исправить эту проблему, заключается в тестировании кода, который обращается к веб-службам на моей локальной машине разработчика (запросы веб-служб всегда занимают до 30 секунд, что делает разработку медленной и болезненной)
Есть какие-нибудь подсказки относительно того, что могло быть причиной этого? Как я могу диагностировать проблему?
Google обнаружил ряд сообщений о том, что в Ubuntu 10.4 есть проблемы с тайм-аутом DNS, поскольку он использует ipv6 (а остальная часть вашей сети - нет, поэтому вам нужно дождаться тайм-аута поиска ipv6).
Это может объяснить, почему ваш браузер работает быстрее, если он не настроен на использование ipv6 для разрешения имен.
См., Например: https://askubuntu.com/questions/8704/slow-dns-resolution
Задержка в 30 секунд звучит как тайм-аут DNS, поэтому проверьте /etc/resolv.conf (особенно DNS-сервер с первым именем).