Php, curl_multi, FreeBSD - толи лыжи не едут... - Форум успешных вебмастеров - GoFuckBiz.com
 
 
Форум успешных вебмастеров - GoFuckBiz.com

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

Закрытая тема
Опции темы Опции просмотра
Старый 16.01.2008, 18:34   #1
Gyrus
Member
 
Регистрация: 16.01.2008
Сообщений: 86
Бабло: $11570
Question Php, curl_multi, FreeBSD - толи лыжи не едут...

Подскажите куда копать.. Суть проблемы:

Есть локалхост - виста, апач2, пхп5.2.5, курл.
Есть сервер - фрибсд6.2, апач2, пхп5.2.5, курл, директадмин.

С локалхоста идет опенвпн коннект к серверу. т.е. весь трафик заворачивается через сервер. На локалхосте запускается скрипт, дергающий через мультикурл кучу страниц в инете. на 30 урлов - скрипт тратит порядка 25 секунд с локалхоста, загружает каждый урл с первого раза. коннект в инет не быстрый, и все идет через туннель..
Этот же скрипт, с одинаковыми настройками, запускается на сервере. И.. на 30 урлов - тратится в 4-6 раз больше времени. У сервера 100Мбит порт. со скоростью доступа к урлам - проблем нет, по логу курла - резолв доменов от 0.01 до 0.8 секунд... Суть в том, что почему-то курл, отваливается по таймаутам, когда запуск идет с сервера. скрипт настроен так, что при таймаутах - дергать один и тот же урл максимум 4 раза. в логе скрипта - все 4 раза на каждый урл - отваливаются по выставленному таймауту в 10 секунд... некоторые урлы удается загрузить со 2-3 раза, некоторые только с 4 раза..

Почему? В какую сторону копать? С каналом судя по всему проблем никаких, т.к. запуская с локалхоста - все загружается на ура (весь трафик то по туннелю идет все равно через этот же сервер).. голову уже сломал, не могу найти проблему.
Gyrus вне форума  
Старый 16.01.2008, 18:40   #2
TerVer
Senior Member
 
Аватар для TerVer
 
Регистрация: 14.09.2007
Сообщений: 740
Бабло: $73721
По умолчанию

Скрипт в студию
Откуда урлы берутся? может тут при переносе баг образовался...
TerVer вне форума  
Старый 16.01.2008, 18:44   #3
Gyrus
Member
 
Регистрация: 16.01.2008
Сообщений: 86
Бабло: $11570
ТС -->
автор темы ТС По умолчанию

скрипта в студию не будет. Урлы - берутся откуда угодно. либо из файла, либо грузится страница, парсятся урлы, и в очередь на загрузку.. или еще откуда. суть бага в том, что с локалхоста под виндой все отлично работает, страницы грузятся через сервак. при запуске с сервака - наступает такая жопа. из урлов вырезается все лишнее - типа переноса строки и т.д... проблема явно не в этом.
Gyrus вне форума  
Старый 16.01.2008, 21:10   #4
solar
Senior Member
 
Регистрация: 04.04.2007
Сообщений: 601
Бабло: $7700
По умолчанию

ну замерь время на серваке в какой функции оно тупит и сразу увидишь где проблема. по логам курла видно с какой скоростью закачка?
может многопоточность не работает?
solar вне форума  
Старый 16.01.2008, 23:22   #5
Gyrus
Member
 
Регистрация: 16.01.2008
Сообщений: 86
Бабло: $11570
ТС -->
автор темы ТС По умолчанию

в том то и дело, что на локал хосте - оно не тупит. и 20-30 секунд - это нормальное время работы для такой скорости подключения, как подключен мой локалхост.
на серваке - тупит именно в курле. многопоточность - все отлично работает на том же локалхосте, на серваке - тоже отлично, если урлов скажем 2-3 штуки грузится. При 30 урлах - в логе курла - везде таймаут в районе 10 секунд... типа отвалилось с таймаутом в 10 секунд. скорость - то что загружается - по курлу вообще какая-то смешная, бывает на уровне 200-300 байт(!!) сек. Я так подозреваю, что косяк в настройке сервака... только вот где именно копать - ума не приложу.. в багтреке курла таких симптомов вроде не нашел..

сегодня еще на одном серваке протестирую, с примерно таким же конфигом..
Gyrus вне форума  
Старый 16.01.2008, 23:33   #6
gcc
Ебланнед
 
Регистрация: 22.11.2007
Сообщений: 2,984
Бабло: $48575
По умолчанию

фаер попинай
__________________
Protecting the future
gcc вне форума  
Старый 17.01.2008, 01:25   #7
TerVer
Senior Member
 
Аватар для TerVer
 
Регистрация: 14.09.2007
Сообщений: 740
Бабло: $73721
По умолчанию

А зачем ты таймаут 10 сек ставишь, если 30 это нормально?
Ставь уж тогда тайауут 30 и посмотри, может что изменится.
TerVer вне форума  
Старый 17.01.2008, 13:46   #8
solar
Senior Member
 
Регистрация: 04.04.2007
Сообщений: 601
Бабло: $7700
По умолчанию

а как с сервака работает wget, ftp, ping? попробуй покачать там файлы.
solar вне форума  
Старый 17.01.2008, 17:21   #9
Gyrus
Member
 
Регистрация: 16.01.2008
Сообщений: 86
Бабло: $11570
ТС -->
автор темы ТС По умолчанию

TerVer - таймаут 10 сек - на коннект, каждого отдельно взятого потока. на трансфер - другой таймаут ставится.. и это не общий таймаут на весь скрипт.

solar - wget, и все остальное - работает на ура... 100мбит коннект есть, видно по тому же вгету, и скорости скачки 10-11метров/сек..

меня больше всего в непонятку вгоняет то, что если запускать скрипт на виндовой машине, подключенной через опенвпн к этому же серваку, то никаких таймаутов, ничего, и все отрабатывает в 4-6 раз быстрее.. т.е. все что идет в туннеле до сервака - так же быстренько и без проблем проходит через сервак..
Gyrus вне форума  
Старый 17.01.2008, 17:48   #10
solar
Senior Member
 
Регистрация: 04.04.2007
Сообщений: 601
Бабло: $7700
По умолчанию

пересобери curl из последних сорцов
solar вне форума