Моя проблема в том, что я не могу понять, почему у меня такое медленное время отклика при использовании 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