[转]控制蜘蛛的抓取速度
作者:车东 产品经理
上周末豆瓣的阿北给我电话:最近你们雅虎的蜘蛛(Yahoo! Slurp)对豆瓣网的抓取频度非常高,导致服务器的速度有些慢,如何才能让Slurp降低抓取频度呢?
我首先想到的建议是在网站的robots.txt中增加Crawl-delay: 设置,这个设置是目前Slurp独有的,用来告诉Slurp蜘蛛2次访问之间的间隔,单位是秒。
剩下的问题就是Crawl-delay的值该设置多大,这个要看网站自身可以承受的负载,假设你希望Slurp每10秒来访问一次,这个设置就是:
User-agent: *
Crawl-delay: 10
我推荐使用 User-agent: * 万一有其他引擎逐步也支持这个配置呢,而不支持这个配置的引擎也会跳过这句。
可实际上我从自己网站的日志中看到:Slurp的压力却不止10秒一次,原因是这样:雅虎美国和雅虎中国有2套蜘蛛在运行,因此实际的访问可能是这样:
1.1.1.1 30/Jun/2006:00:00:03 Yahoo! Slurp China
2.2.2.2 30/Jun/2006:00:00:04 Yahoo! Slurp
1.1.1.1 30/Jun/2006:00:00:13 Yahoo! Slurp China
每个蜘蛛都是遵循Crawl-delay间隔的,因此为了进一步降低Slurp压力,希望达到10秒一次请求的频道 实际的Crawl-delay配置就要*2。
但是实际上我看到的雅虎的蜘蛛是分布在很多台服务器上的:而多个服务器集群之间也是不相互协调同一网站的抓取频度的
1.1.1.1 30/Jun/2006:00:00:03 Yahoo! Slurp China
2.2.2.2 30/Jun/2006:00:00:04 Yahoo! Slurp
1.1.1.1 30/Jun/2006:00:00:13 Yahoo! Slurp China
1.1.1.2 30/Jun/2006:00:00:13 Yahoo! Slurp China
1.1.1.1 30/Jun/2006:00:00:23 Yahoo! Slurp China
1.1.1.2 30/Jun/2006:00:00:27 Yahoo! Slurp China
我统计了一下:Slurp来源于40多个IP网段,同网段内的蜘蛛协调抓取频度。因此:实际的Slurp设置,需要设置为10*40 = 400秒,才能达到期望的Slurp每10秒访问一次频度。
给豆瓣推荐的Crawl-delay: 100 平均2.5秒访问一次,应该没有问题了。
另外,雅虎搜索的帮助中心刚刚改版,专门增加了站长专区,可以去看看。
注:我查了一下Slurp的意思,就是咂吧嘴的声音,发音听着很像在吃面条吧?
http://ysearchblog.cn/2006/07/yahoo_slurp.html
- ·使用服务器端xhr和客..
- ·C#源代码-查询alexa..
- ·刷流量软件介绍
- ·如何获取Alexa排名数..
- ·Google蜘蛛运行网页..
- ·google PR无法查询,..
- ·搜索引擎机器人名称..
- ·如何快速提高网站的..
- flash/flex/fcs/AIR(752)
- Asp.Net/C#/WCF(598)
- 操作系统及应用软件(376)
- JavaScript/Ajax(330)
- SQL及数据库(134)
- 黑客技术(115)
- Asp/VBScript(111)
- HTML/WML/CSS兼容/XML(102)
- PHP/apache/Perl(96)
- 网站排名及优化(96)
- 其他(75)
- showbo日志(66)
- lucene.net/分词技术(33)
- 计算机网络(26)
- 机械重工(26)
- C#设计模式(25)
- Google Maps开发(17)
- 日语学习(15)
- Canvas/VML/SVG(13)
- linux(11)
- 游戏开发(8)
- 正则表达式(5)
- Jsp/Java(4)
- ·新域名seo技巧
- ·seo中容易犯的错误
- ·服务器对seo排名的影..
- ·整站优化和关键词排..
- ·外链质量好坏评判方..
- ·如何做好网站外部链..
- ·针对Google SEO搜索..
- ·搜索引擎优化中的DI..
