Зависание PHP на сервере, другие запросы не обрабатывает, пока не завершится долгий запрос, Почему?
Добрый день.
Использую VDS-OVZ-Старт на сервере firstvds (Debian-8) Версия PHP (CGI)7.3.4(alt) (Да и на других версиях тоже самое.)
Для учета заказов, клиентов, прайсов и т.п. использую свой скрипт, нагрузок на сервер нет, поскольку доступ только для работников магазина. Недавно написал скрипт поиска товаров у поставщиков по их WEB API по сути просто get запрос (использую file_get_contents() ), а у некоторых Soap для связи.
Вот суть вопроса : при одном запросе опрашиваются 12 поставщиков на каждого уходит от 0,5-4сек. в среднем 12 поставщиков опрашивает за 20-30 секунд. Так вот во время работы этого долгого запроса PHP сервер не отвечает никому по другим запросам будь то даже простое открытие одной из страниц нашего скрипта, тупо ждет пока не завершиться опрос, а потом в мгновение выполняет.
Что можно с этим сделать? Нагрузки на сервер посути никакой но ожидание из за запросов к другим серверам напрягает.
Может помочь настройка php, вместо динамического управления инстансами сделать статическое, указать явно что нужно запускать и следить за 20 инстансами
при чем здесь дестрой?
Ты штаны в тоже печку бросаешь каждый день когда спать ложишься? или все-таки просто снимаешь и на стул кладешь?
Закрыть и уничтожить - это разные вещи.
FanatPHP, Почувствовал себя дураком после вашего ответа. Тогда как закрыть сессию чтобы не разлогинится? Вообще при "разлогивании" использую просто unset($_SESSION[...]) .
А если я её вообще не буду начинать (session_start();) только для долгого запроса ?
Извините, за настойчивые вопросы, не могу понять как это правильно сделать .