Увеличение количества потоков
Я пытаюсь сканировать страницы из одного конкретного домена, используя 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 выборок может выполняться одновременно с сайтом. Таким образом, следует использовать только в режиме наложения, примененного к сайтам, которые могут хорошо обрабатывать несколько соединений.