【发布时间】:2015-12-09 17:25:23
【问题描述】:
我正在尝试使用 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 个线程吗?我已经发现并更改了与礼貌相关的配置(最小/最大延迟)谢谢!
【问题讨论】:
-
闲置是什么意思?您的意思是他们没有执行任何任务还是正在等待下载数据。
-
@PeterLawrey 我继续在“线程”部分下看到“24 ABOUT_TO_GET_URI”。所以我认为他们没有做任何工作。我还看到 25 个线程中有 0/1 处于活动状态。
标签: java multithreading web-crawler heritrix