Назад | Перейти на главную страницу

Медленные ответы с curl и wget на CentOS 7

Моя проблема в том, что я не могу понять, почему у меня такое медленное время отклика при использовании curl и wget. Когда я говорю «медленно», я имею в виду минимум пять или шесть секунд для страницы, которая должна занимать всего секунду или меньше.

Я тестировал всевозможные сценарии, но, похоже, ничего не изменил.

Мой сервер: CentOS Linux версии 7.3.1611 (Core)

Я пытаюсь исправить это, потому что это замедляет работу недавно установленного приложения WordPress. В итоге я определил (используя Xdebug), что проблема связана не с WP, а с вызовами PHP, использующими curl. Впоследствии я тестировал из командной строки без какого-либо другого приложения.

Так, например:

$ curl -o /dev/null "http://techrepublic.com"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                             Dload  Upload   Total   Spent    Left  Speed
  100   178  100   178    0     0     30      0  0:00:05  0:00:05 --:--:--    41

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

Та же проблема возникает и при использовании wget.

Итак, кое-что из того, что я пробовал:

Мой основной DNS-сервер теперь указан в /etc/resolv.conf как 8.8.8.8, что должно быть нормально.

Чтобы получить больше информации, я также использовал это:

$ curl -L --output /dev/null --silent --show-error --write-out 'lookup: %{time_namelookup}\nconnect:%{time_connect}\nappconnect:%{time_appconnect}\npretransfer:%{time_pretransfer}\nredirect:%{time_redirect}\nstarttransfer: %{time_starttransfer}\ntotal:%{time_total}\n' 'techrepublic.com'
Output:
lookup: 5.514
connect:5.528
appconnect:0.000
pretransfer:5.528
redirect:5.819
starttransfer: 6.680
total:12.552

(не уверен, почему, но использование curl таким способом, похоже, занимает больше времени, чем использование его без всех параметров, но в любом случае это все еще занимает слишком много времени)

Итак, я полагаю, что это каким-то образом связано с поиском DNS, но я действительно не уверен, что еще попробовать. Это очень неприятно.

Будем очень благодарны любой помощи. Спасибо!

Хорошо, проблема решена. После того, как снова заглянул в Интернет, я наткнулся на этот сайт, на котором описывалась та же проблема:

http://aarvik.dk/disable-ipv6/

Добавление следующей строки в конец /etc/resolv.conf решило проблему для меня, но я рекомендую вам прочитать статью полностью:

options single-request-reopen