исходя из каких параметров лучше регулировать количество потоков/процессов 4 crawler

12
Artisan
На сайте с 04.03.2005
Offline
352
#11
Interitus:
На С писать с тредами? Это попухнуть можно.

Если привыкнуть то понравится, а для этой задачи возможно вообще finite state machine будет достаточно без всяких явных потоков, ...

www.leak.info / ДАРОМ линки конкурентов и забытых доменов
lagif
На сайте с 15.12.2004
Offline
30
#12

Interitus,

Согласна с Artisan - это дело привычки.

А IPC вам чем не нравится? :D

Это тоже пройдет...
[Удален]
#13

А мне вообще не нравятся низкоуровневые вещи там, где они реально не являются необходимостью. На мой взгляд это мазохизм чистой воды. К IPC это тоже относится. :)

lagif
На сайте с 15.12.2004
Offline
30
#14

Interitus, Ну... мне тоже много чего не нравится. :). Например, больше нравится перл, чем php. И сколько споров в пределах одной только нашей конторы... :)

Artisan
На сайте с 04.03.2005
Offline
352
#15
Interitus:
А мне вообще не нравятся низкоуровневые вещи там, где они реально не являются необходимостью.

Это правильно но это скорее вопрос стиля написания текста программы то есть даже на ассемблере можно отделить общую логику от мелких деталей которые достаточно написать один раз а если совсем лень то взять готовые библиотеки.

E
На сайте с 21.10.2005
Offline
59
#16

Прошу прощения за офф-топ, но прочитав тему полностью, понял, что ничего не понял. Решил пойти на третье высшее:)

цццюнфтвучюкг (http://opechat.ca/perevod/yandex_ru/) и нфтвучюкг (http://opechat.ca/perevod/yandex_ru/) - это диагноз!
I
На сайте с 26.05.2001
Offline
64
#17
Artisan:
Если привыкнуть то понравится, а для этой задачи возможно вообще finite state machine будет достаточно без всяких явных потоков, ...

Если машина однопроцессорная, то это самый быстрый вариант, если есть более одного проца и хочется их все загрузить, то придется делить пул урлов и форкаться.

По поводу хитрых тредовых алгоритмов разделения пула. Я относительно недавно решал похожую задачу выдергивания данных по сети. Правда не страницы, а бинарные объекты из объекто-хранилища. Но специфика распределения длин примерно та же.

Реализовал простейший алгоритм, когда объекты между потоками выбираются случайно. На размахивания руками, что это мол некошерно, привел простое объяснение.

Заключается оно в следующем: Есть, скажем, N объектов и T среднее время скачивания объекта, а D дисперсия. Если мы скачиваем N объектов последовательно, то среднее время скачивания TN, а дисперсия D sqrt N (при достаточно реалистичном предположении о независимости времен скачивания). Итого: чем больше мы скачиваем объектов, тем меньше в процентном отношении время скачивания отличается от среднего!!! спрашивается, ради чего ломать копья, ради двухпроцентного выигрыша во времени? раскидайте N объектов на K очередей случайным образом.

Да и еще важное добавление: в целях не укладывания отдельных сайтов следуюет отслеживать время последнего обращения к сайту, и если, скажем, последний раз страница с сайта выбиралась менее 2-3 секунд назад, то лучше выбрать другую страницу из пула.

Приходите завтра, завтра будет! (http://itman666.livejournal.com)
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий