|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
|
kanaris |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 70 Регистрация: 16.2.2008 Репутация: нет Всего: -1 |
Всем привет!
Создал многопоточный скрипт прокси-чекер (за счет функций curl_multi_*). Проверяет прокси, одновременно в 10-20 потоков. Как только ответ от прокси получен, дескриптор удаляется, на его место ставится следующее прокси. Поставил работать скрипт, работает довольно быстро. Но где-то на 950-м прокси компьютер затормозил. В диспетчере задач файл подкачки использован почти под завязку! Трассировал хДебагом, он показывает изменения памяти максимум мегабайт на 5. Но фактически файл подкачки увеличивается в объеме мегабайт на 500-1000! Вот скрин диспетчера: Сам скрипт:
Как решить проблему? Это сообщение отредактировал(а) kanaris - 16.4.2015, 21:22 |
|||
|
||||
masp |
|
|||
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 22.2.2007 Репутация: нет Всего: 2 |
попробуй на UNIXе запустить,
а также читал где то unset реально не осовбождает память, http://www.rsdn.ru/forum/web/2194680.flat.aspx и вот ещё http://rmcreative.ru/blog/post/utechki-pamjati-v-php |
|||
|
||||
Pfailed |
|
|||
Опытный Профиль Группа: Участник Сообщений: 933 Регистрация: 19.7.2009 Репутация: нет Всего: 39 |
Может быть не складывать в массив?
Не удивительно, что это может сожрать память. |
|||
|
||||
kanaris |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 70 Регистрация: 16.2.2008 Репутация: нет Всего: -1 |
даже если я закоментирую это, всеравно жрет. |
|||
|
||||
topy |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 52 Регистрация: 18.2.2008 Репутация: нет Всего: 1 |
Как вам уже написали, попробуйте на Unix`е запустить.
Говорят, что curl.exe некорректно работает. |
|||
|
||||
vfz4z |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 3.6.2010 Репутация: нет Всего: нет |
дайте мне список прокси и я сам запущу этот скрипт... Очень походе что память не освобождает curl. У меня под рукой так-же несколько win серверов, так что интересно будет протестить всё это дело и сравнить результаты... Хотя вопрос наверное уже мёртв)
|
|||
|
||||
MuToGeN |
|
|||
Лесник Профиль Группа: Модератор Сообщений: 4379 Регистрация: 15.8.2002 Где: Москва Репутация: 4 Всего: 32 |
Хехе, знакомая задача. Когда-то делал аналогичное для одного проекта. Посетителей надо было пробивать на то, с прокся они заходят или нет.
Из собственного опыта: 1. Нормальной многопоточности в PHP нет и никогда не было, даже в CLI SAPI. Да, про pcntl знаю. 2. Если только PHP, то организовывать лучше как "мастер-слейв". Мастер запускает дочерний процесс, который принимает задачу с командной строки, куда-то отписывается о результате и успешно завершает исполнение. В этом случае ОС следит за всеми возможными косяками по утечкам памяти. 3. Если это под серьёзные промышленные нагрузки, то лучше старый-добрый C, тот же curl и pthreads. Потому что задача по большому счету не для похапе. 3.1 Если это под действительно серьезные промышленные нагрузки, то забудьте про windows. Добавлено через 44 секунды Чорт я буду смотреть на дату поста, я буду смотреть на дату поста, я буду смотреть на дату поста, я буду смотреть на дату поста -) -------------------- Three pings for the token rings, Five pings for the UNIX machines, Hundred pings for the broken links, One special ping to check them all Through Simple Network Management Protocol! |
|||
|
||||
kanaris |
|
||||||
Шустрый Профиль Группа: Участник Сообщений: 70 Регистрация: 16.2.2008 Репутация: нет Всего: -1 |
Да чо, я иногда почитываю свои старые темы, а вдруг ответили что нибудь толкового =) Просто как правило, вопросы не решаются, поэтому идея забрасывается в дальний угол, до поры до времени. Вопросы всегда актуальны для меня...
Прокси обычные паблик, например http://samair.ru/proxy/ |
||||||
|
|||||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Для профи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |