Увеличение количества потоков

Я пытаюсь сканировать страницы из одного конкретного домена, используя Heritrix.

Скорость сканирования кажется очень низкой. И одна вещь, которую я замечаю, это то, что, хотя есть 25 потоков, 24 из них всегда бездействуют. Кажется, есть только один поток, который активно берет URI из очереди и извлекает данные с сервера.

Rates
0.33 URIs/sec (0.34 avg); 18 KB/sec (20 avg)
Load
1 active of 25 threads; 1 congestion ratio; 13193 deepest queue; 13193 average depth
Elapsed
1h32m3s424ms
Threads
25 threads: 24 ABOUT_TO_GET_URI, 1 ABOUT_TO_BEGIN_PROCESSOR; 24 noActiveProcessor, 1 fetchHttp 
Frontier
RUN - 2 URI queues: 1 active (1 in-process; 0 ready; 0 snoozed); 0 inactive; 0 ineligible; 0 retired; 1 exhausted 
Memory
79933 KiB used; 143508 KiB current heap; 253440 KiB max heap

Любая конфигурация, которую я могу использовать, чтобы использовать все 25 потоков? Я уже обнаружил и изменил конфиги, связанные с вежливостью (минимальная / максимальная задержка) Спасибо!

1 ответ

Решение

Нашел ответ из списка рассылки: Настройка parallelQueues в queueAssignmentPolicy боб.

parallelQueues: значением по умолчанию (и историческим поведением) является '1'. Если вместо N, все URI, которые ранее входили в одну и ту же одноименную очередь, попадут в N связанных очередей (посредством согласованного хеш-сопоставления части запроса URL-адреса path?). Каждая очередь рассматривается отдельно для традиционной вежливости, основанной на одноразовых соединениях и отложенных задержках между выборками - так что N очередей означает, что N выборок может выполняться одновременно с сайтом. Таким образом, следует использовать только в режиме наложения, примененного к сайтам, которые могут хорошо обрабатывать несколько соединений.

Другие вопросы по тегам