如果想要提高Nutch局域网抓取的速度,大家第一个想到肯定是-threads
.但是那是错误的,如果只是单单增大线程数,那根本于事无补。
通过下面这组测试,我们看看-threads
是否起作用。首先在本地apache2下建立两个网站,写一个简单的Rakefile来帮助完成测试。设定depth=3
,下面是Rakefile的内容:
threads=1
depth=3
task:default => [:crawl]
task:crawl => [:clean] do
t=Time.now
sh "bin/nutch crawl myurl -dir crawl -depth #{depth} -threads #{threads}"
puts Time.now-t
end
task:clean do
sh "rm -rf crawl"
end
threads的值分别为1,5,10 结果如下表:
线程数
时间
1
|
891.001462
|
5
|
889.560529
|
10
|
878.812949
|
从上面表格可以看出,这根本一点作用都没有。第一种提高速度的方法就是减少抓取之间的延迟时间,我们可以通过修改conf/nutch-default.xml中fetcher.server.delay
来减少延迟时间。
fetcher.server.delay
抓取器在同一服务器的逐次请求所延迟的秒数
我们试试减小它的值为1.0(原先的值为5.0)。经过测试,结果如下:
线程数
时间
1
|
482.807096
|
5
|
488.666853
|
10
|
486.67904
|
显然速度提高了,但是线程数还是起没有作用,原因就在于conf/nutch-default.xml中fetcher.threads.per.host
配置为1。那么第二种方法就是同一时刻允许多个线程访问同一主机。
fetcher.threads.per.host
这个值允许同一时刻访问一台主机的最大线程数
如果这个配置为1,同一时刻只允许一个线程,启动多少的线程都没用。下面我们增大这个配置为5,测试结果如下:
线程数
时间
1
|
484.754918
|
5
|
384.201041
|
10
|
332.934009
|
很明显随着线程数的增大,抓取速度也在增大。如果还想再提高速度的话,可以减小抓取之间的延迟时间。不过不是修改fetcher.server.delay
,而是修改fetcher.server.min.delay
。这个配置是设定抓取器在同一服务器的逐次请求所延迟最小的秒数,这个值仅当fetcher.threads.per.host
属性值比1大时适用。
hi 朋友,很感谢你。我的问题基本上解决了
我将fetcher.server.delay改成1.0
fetcher.threads.per.host 改成15
在抓取时最高能到到3M/s
很棒,再次感谢
原文:http://hi.baidu.com/java_2009/blog/item/a96f3ea8a40487f01e17a23e.html
相关推荐
提高nutch运行效率的原理与方法,nutch的运行过程相对来说还是很慢的,对于一些特殊的应用来说,必须对nutch做很多修改来达到提高速度的目的,本人在这方面有深入研究,可以提高2-5倍性能。
介绍 Nutch 的背景知识,包括 Nutch 架构,爬虫和...然后示例说明 Nutch 爬虫如何抓取目标网站内容,产生片断和索引,并将结果存放在集群的2个节点上。最后使用 Nutch 检索器提供的 API 开发应用,为用户提供搜索接口。
Nutch搜索引擎数据获取1、 基本原理2、网络蜘蛛3、局域网抓取
基于Apache Nutch 1.8和Htmlunit组件,实现对于AJAX加载类型页面的完整页面内容抓取解析。 According to the implementation of Apache Nutch 1.8, we can't get dynamic ...
北京邮电大学研究生课程实验指导书。 在windows上配置测试Nutch 用于学习nutch配置的各种问题 分为本地抓取,局域网抓取和互联网抓取三部分
nutch 爬虫数据nutch 爬虫数据nutch 爬虫数据nutch 爬虫数据nutch 爬虫数据nutch 爬虫数据nutch 爬虫数据nutch 爬虫数据nutch 爬虫数据
Nutch1.7二次开发培训讲义 之 腾讯微博抓取分析
windows7的环境下将nutch成功运行 整个安装图片教程: 1 cygwin的安装 2 apache-nutch的安装 3 nutch实例抓取实例
3.1.3 执行抓取命令......9 3.1.4 测试结果...11 3.1.5 Intranet Recrawl..13 3.2 爬行全网.....18 3.2.1 nutch数据集的基本组成:.....18 3.2.2 爬行"官方"网址.....18 3.2.3 爬行中文网址....22 4. nutch基本原理...
资源名称:Nutch相关框架视频教程资源目录:【】Nutch相关框架视频教程1_杨尚川【】Nutch相关框架视频教程2_杨尚川【】Nutch相关框架视频教程3_杨尚川【】Nutch相关框架视频教程4_杨尚川【】Nutch相关框架视频教程5_...
eclipse配置nutch,eclipse配置nutch
学习nutch 源码解读 轻松入门 搭建自己的nutch搜索引擎
Volume数据体量巨大,Variety数据类型繁多,Value价值密度低,商业价值高,Velocity处理速度快。 Hadoop是大数据的核心技术之一,而Nutch集Hadoop之大成,是Hadoop的源头。学习Hadoop,没有数据怎么办?用Nutch抓!...
nutch使用&Nutch;入门教程 pdf
nutch平台的详细搭建过程 配置环境 抓取 建立索引 查看结果
1.1 Nutch 基本原理 1.1.1 Nutch 基本组成 1.1.2 Nutch 工作流程 1.2 Nutch 流程详解 1.2.1 Nutch 数据流程 1.2.2 Nutch 流程分析
Nutch搜索引擎·Nutch简单应用(第3期) 1.1 Nutch 命令详解 1.2 Nutch 简单应用
Nutch是一个优秀的开放源代码的Web搜索引擎。虽然Nutch的页面排序方法比较合理,但是很多情况下仍然不能 满足需要。分析开源搜索引擎Nutch代码,研究了Nutch的页面排序方法。在Nutch原有的结构基础上提出了3种修改...
nutch插件,安装nutch插件,mysql与nutch
nutch配置nutch-default.xml