На моем сервере установлены как PHP 7.0, так и PHP 5.6 (это выделенный сервер с большим количеством ресурсов), и исходящие запросы очень медленные, когда они выполняются через PHP 7, но не когда они выполняются через PHP 5. При тестировании с использованием cURL в PHP интерпретатор командной строки, запрос (для файла размером 33 МБ), который занимает 1,3 секунды при использовании PHP 5, занимает 16,9 секунды при выполнении на PHP 7 (и я могу надежно воспроизвести эти результаты - это не просто разовый всплеск).
Время уходит на фактическую загрузку, а не на установку соединения - согласно curl_getinfo
, хотя все время (поиск имени, соединение, время начала передачи и т. д.) примерно в 10 раз выше в PHP 7 и PHP 5, они по-прежнему полностью занимают менее секунды, поэтому подавляющее большинство времени тратится на загрузку файл; когда загрузка прерывается тайм-аутом cURL, сообщение об ошибке, которое указывает количество полученных байтов, примерно пропорционально количеству времени, которое оно потратило на выполнение. Это привело меня к выводу, что скорость сети должна каким-то образом ограничиваться, но я не могу представить, что повлияет на PHP 7 (как CLI, так и FPM), но не на PHP 5.
Это влияет не только на cURL - попытка того же запроса с использованием ручного подключения к сокету также очень медленная (и на самом деле заметно медленнее, чем cURL, хотя это может быть потому, что cURL может обрабатывать сжатие, а соединение с сокетом не может).
На сервере работает Debian Jessie.