LINUX.ORG.RU

php multicurl centos


0

1

Столкнулся с неприятной проблемой.

centos 5.5

curl 7.21.3

php 5.3.5

При попытке запустить простой парсер через мульти курл хотя бы в 50-100 потоков - получаю какой то «затык». Если поставить 100 потоков - вообще ничего не приходит в ответ, и сам multi_curl_exec висит очень долго, хотя по сути должен исполнятся почти моментально. Если поставить потоков 10-20 - все нормально приходит в ответ.

Самое важное: если все тоже самое запустить с компьютера с виндой и внешним ip равным ip сервера ( через туннель) - никаких ограничений нет, все соединения проходят, хоть 200-300. Т.е. режет не датацентр, где сервер стоит, а какие то проблемы видимо в настройках centos/curl/php ?

Пробовал включать curl_verbose: просто открывается сотня Trying to connect - и ноль ответа.

да, php, винда не нужны

Deleted

Если поставить 100 потоков - вообще ничего не приходит в ответ. Если поставить потоков 10-20 - все нормально приходит в ответ.

Запусти в цикле 10 по 10 или 5 по 10. С паузой в секунду.

Пробовал включать curl_verbose: просто открывается сотня Trying to connect - и ноль ответа.

Что-то мне подсказывает, что дело в сетевых настройках сервера.

да, php, винда не нужны

CentOS тоже. Что не засада у человека, так обязательно или бубунта или центос.

r_asian ★☆☆
()
Ответ на: комментарий от r_asian

> Что-то мне подсказывает, что дело в сетевых настройках сервера.

вопрос про это и был

Deleted
()

А target URL с одного хоста, или со многих? Может «на той стороне» не справляются со столькими коннектами...

valich ★★★
()
Ответ на: комментарий от valich

Была как-то похожая задача, правда версии софта поменьше, на CentOS с настройками по-умолчанию, такая же задача отрабатывала на 500 соединений.

valich ★★★
()

Поиграться с параметрами
CURLOPT_TIMEOUT
CURLOPT_CONNECTTIMEOUT

получаю какой то «затык»


затык в установке соединений и/или получении ответа?

valich ★★★
()

sysctl net.ipv4.tcp_max_syn_backlog

valich ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.