multirequest
multirequest copied to clipboard
Multi-thread connection pooling
Вопрос наверное даже не по либе, а по самому PHP. Если не сложно, подскажите.
Я знаю что CURL либа супортит шаринг TCP конекшенов и если нам нужно сделать N запросов, то мы может один раз сделать curl_init и после чего выполнять эти запросы, меняя только базовые параметры. Когда закончили - вызываем curl_close. В этом случае сама либа CURL будет юзать тот же самый TCP конекшен, который она открыла при первом запросе.
Но можно ли шарить эти конекшены между разными PHP реквестами ?
У меня есть сервер, на нём десятки сайтов. Каждая страница должна делать 1 запрос на сторонюю API. Будет ли эта логика тут работать ? Могут ли разные PHP реквесты обращаюсь в CURL либу, по сути шарить между собой конекшены или нет ?
И вообще реально ли такое сделать ?
Я знаю что PHP может работать в 2х режимах:
- На каждый запрос создаётся отдельный процесс.
- "Родитель"" создаёт несколько воркеров, между которыми распределяет эти самые реквесты. Воркеры по завершению работы не закрываются. И даже имеют внутренний кеш, в котором могут хранить различные данные (к примеру конекшены в БД)
Ведь если для каждого реквеста мне нужно делать запрос в АПИ, то количество сокетов возрастёт в два раза (на каждый реквест - запрос в АПИ). И поскольку сокеты система сразу не освобождает, то будет проблема в доступных сокетах.
Что Вы можете подсказать по этому вопросу ?
Обновил вопрос