У меня есть новый VPS-сервер, и я пытаюсь заставить его подключиться к другому серверу того же провайдера. Когда я подключаюсь через инструмент командной строки mysql, соединение происходит очень быстро.
Когда я использую PHP для подключения к удаленной БД, время подключения может занимать до 5 секунд. Запросы после этого выполняются быстро.
Это не ограничивается mysql, использование file_get_contents () для загрузки файла практически с любого другого сервера дает такую же задержку. Использование wget для получения файла не имеет такой задержки.
Я рассчитал время DNS-запросов из PHP с помощью dns_get_record (), и они быстрые (1-2 миллисекунды).
Есть мысли о том, что в конфигурации php может вызывать это?
Спасибо.






Я бы проверил, в каком режиме работает PHP, запускает ли он по какой-то причине скрипты как CGI. По сути, сам PHP очень медленный, и это заметно только при выполнении удаленных операций.
Проверьте конфигурацию веб-сервера. Также, если это вариант, попробуйте PHP из командной строки и посмотрите, работает ли он лучше без участия уровня веб-сервера.
В итоге я обновил PHP 5.1.6 до PHP 5.2.6, и проблема исчезла. Это определенно была проблема с поиском DNS в PHP, выполнение следующего займет около 5 секунд:
gethostbyname('example.com')
У меня есть ощущение, что IPV6 был проблемой (в основном, догадка, читая об этом в Интернете), но у меня нет никаких доказательств.