Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB58.7570
BTC/USD0.0000
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 24.01.2011, 19:55   #1
carl0s
Senior Member
 
Аватар для carl0s
 
Регистрация: 23.11.2007
Сообщений: 141
Бабло: $9970
По умолчанию multi curl и centos: ограничение потоков

Столкнулся с неприятной проблемой.
centos 5.5
Curl 7.21.3
php 5.3.5

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

Самое важное: если все тоже самое запустить с винды через впн на этом самом хосте - никаких ограничений нет, все соединения проходят, хоть 200-300. Т.е. режет не ДЦ а какие то проблемы либо в centos, либо в curl под linux =((

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

заебалоуже
carl0s вне форума  
Старый 24.01.2011, 20:18   #2
TerVer
Senior Member
 
Аватар для TerVer
 
Регистрация: 14.09.2007
Сообщений: 743
Бабло: $73711
По умолчанию

бляяя, у меня тоже самое. Попробуй для теста тайамуты слонячие поставь. Если будет больше потоков работать, то в точности как у меня будет.
TerVer вне форума  
Старый 24.01.2011, 20:54   #3
carl0s
Senior Member
 
Аватар для carl0s
 
Регистрация: 23.11.2007
Сообщений: 141
Бабло: $9970
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от TerVer Посмотреть сообщение
бляяя, у меня тоже самое. Попробуй для теста тайамуты слонячие поставь. Если будет больше потоков работать, то в точности как у меня будет.
да там часть приходит ответ, но таааак медленно. Смысл в том что быстрее всего работает при 10 потоках. Чем больше потоков - тем медленнее. curl_multi_exec вообще по несколько минут висит, когда на винде он за милисекунды пролетает.
carl0s вне форума  
Старый 24.01.2011, 22:38   #4
mrzaggi
Senior Member
 
Регистрация: 03.11.2010
Сообщений: 285
Бабло: $65950
По умолчанию

Вчера тож решил одну херню набросать. Поставил 10 потоков, смотрю работает вроде. Зарядил 200 - вот че успело с первых открывшихся потоков вытянуть, упало в результаты а дальше затык. pycurl + ubuntu. Переделал на urllib2.
mrzaggi вне форума  
Старый 24.01.2011, 22:46   #5
mavook
Профи Интернет коммерции
 
Аватар для mavook
 
Регистрация: 04.04.2007
Сообщений: 2,345
Бабло: $456525
По умолчанию

а есть решение какое?
чтобы стопроцентно потоки расширить
mavook вне форума  
Старый 25.01.2011, 01:47   #6
y4b53
:(
 
Аватар для y4b53
 
Регистрация: 25.11.2008
Сообщений: 733
Бабло: $89207
По умолчанию

попробуй
curl_setopt($ch, CURLOPT_NOSIGNAL, 1);

для pycurl
curl.setopt(curl.NOSIGNAL, 1)
y4b53 вне форума  
Старый 25.01.2011, 02:06   #7
cossack
Senior Member
 
Регистрация: 15.04.2007
Сообщений: 133
Бабло: $12765
По умолчанию

ТС, погугли на предмет установки либы c-ares. Там фишка в том, что в никсах curl скомпилирован без поддержки этой либы, в винде сразу с поддержкой. Либа отвечает за асинхронную работу с DNS.
Если у тебя в списке URL попадаются нерезолвящиеся NSы, то без c-ares у тебя все потоки будут ждать пока отрезолвится или отлетит по таймауту этот поток.
cossack вне форума  
Старый 25.01.2011, 03:11   #8
rushter
Senior Member
 
Регистрация: 28.11.2009
Сообщений: 1,804
Бабло: $299365
По умолчанию

Не юзайте мультикурл и не будет проблем... Толку от него мало.
rushter вне форума  
Старый 25.01.2011, 05:15   #9
Drunk Monk
Je suis moine ivre
 
Аватар для Drunk Monk
 
Регистрация: 03.03.2009
Сообщений: 15,217
Бабло: $797160072
По умолчанию

Что использовать?
__________________
EssayPartner.com. Партнерка по эссе трафу.
Drunk Monk вне форума  
Старый 25.01.2011, 09:56   #10
TerVer
Senior Member
 
Аватар для TerVer
 
Регистрация: 14.09.2007
Сообщений: 743
Бабло: $73711
По умолчанию

Цитата:
Сообщение от y4b53 Посмотреть сообщение
попробуй
curl_setopt($ch, CURLOPT_NOSIGNAL, 1);
о, мне вроде помогло, щас еще потестю
TerVer вне форума  
Закрытая тема



Опции темы
Опции просмотра