Сколько потоков использует curl_multi_exec? - PullRequest
2 голосов
/ 18 ноября 2010

Я использую curl_multi_exec в php, чтобы проверить состояние ряда URL-адресов.Я хочу сравнить это так, чтобы для данной системы я знал, сколько обработчиков я могу проверить синхронно, прежде чем curl начнет ставиться в очередь.У кого-нибудь есть опыт по измерению емкости?

Спасибо,

Адам

1 Ответ

2 голосов
/ 30 ноября 2010

Из исходного кода PHP видно, что он использует select () и неблокирующие чтения.Поэтому используется только один процесс.

Обратите внимание, что select () завершится неудачно, если вы дадите ему дескриптор файла с помощью fd> = FD_SETSIZE.Предел FD_SETSIZE определяется при компиляции PHP.По умолчанию это 256. Было бы лучше использовать poll () в реализации PHP.

О правильном использовании curl_multi_exec ():

curl_multi_exec ()следовать за curl_multi_select ().Это будет ждать доступных данных, а не проверять их в занятом цикле.Пример в руководстве по PHP хорош.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...