做分布式爬虫和搜索引擎对于服务器配置有什么要求?

brianway 发布于 2016/02/23 20:05
阅读 2K+
收藏 0
做分布式爬虫和搜索引擎对于服务器配置有什么要求?

实验室要做主题爬虫,附带简单的搜索查询功能,现在要租用10~20台服务器,不知道什么配置好。

我们之前使用了三台服务器(租用的阿里云),用nutch1.7+hdfs爬取8000个URL(两层深度)用了两个多小时,第三层达到了40万用了3天还没完全爬完,感觉很慢。

服务器配置如下:
- 服务器A:主节点CPU 4核,内存32G,20Mbps(峰值)公网带宽(按流量)
- 服务器B,C:CPU 1核,2G内存,1Mbps公网带宽(固定带宽)

其中服务器A既做主节点又做从节点,服务器B,C只做从节点。

我有几点困惑:
1.制约爬取速度的,是带宽还是cpu的处理能力?我看任务日志,在nutch流程中fetch(连接并下载网页)这一步耗时最长,占据了绝大部分时间,是不是意味着带宽是主要瓶颈?
2.关于一台2核4G1M的配置和2台1核2G1M的配置,哪个更好?为什么?(阿里云的阿里云推荐配置https://www.aliyun.com/easybuy
3.如果租用10~20台服务器,配置如何选择?使用标准配置还是加带宽,带宽如何选择?
4.关于服务器负载的相关科普链接、干货(譬如量级、多少负载是个什么概念等、实测实例数据等等)?

希望有经验的大神指点迷津。本人对实际负载没有任何概念和经验,实验室需要,急着租服务器。

加载中
1
夜狼
夜狼

1、一般来说是带宽更重要,当然包括你选择的服务器与目标服务器之前的连接速度,因为爬虫程序本身没有多复杂,对于现在的CPU来说没有一点压力,单个页面的分析处理最多 50ms

2、一台两台来说的话,就你当前的应用来说,本身上对内存或CPU要求不算高,那么你要比较的就是价格了,或者你感觉有两台机器更安心?

3、带宽要看你的程序在单机特定配置下,什么情况平均 CPU 大于 50% (这说明网络与数据处理到达一定的平衡)那么这时候的下载的速度就是一个带宽的参考。

4、这个没法回答,有太多因素,主要还是先做一个平衡的选择之后,按需要做加法的。

brianway
brianway
我新的回复在下面
0
brianway
brianway

引用来自“夜狼”的评论

1、一般来说是带宽更重要,当然包括你选择的服务器与目标服务器之前的连接速度,因为爬虫程序本身没有多复杂,对于现在的CPU来说没有一点压力,单个页面的分析处理最多 50ms

2、一台两台来说的话,就你当前的应用来说,本身上对内存或CPU要求不算高,那么你要比较的就是价格了,或者你感觉有两台机器更安心?

3、带宽要看你的程序在单机特定配置下,什么情况平均 CPU 大于 50% (这说明网络与数据处理到达一定的平衡)那么这时候的下载的速度就是一个带宽的参考。

4、这个没法回答,有太多因素,主要还是先做一个平衡的选择之后,按需要做加法的。

感谢解答。 

1.确实单个页面分析耗时还好,而且爬虫里爬取下载和分析是异步的。 

2.价格刚好是一样的。一台好2核4G的刚好是一台1核2G的两倍。所以我在想是不是多台机子多点带宽 

3.我没测CPU,但感觉整个机子就跑个爬虫,CPU用不了多少吧。但是有个问题就是,我刚才在阿里云后台查了下那三天的网络吞吐量记录(按小时结算的)。

发现那个4核32G、20M峰值的服务器吞吐量并没有比另外两个多多少,每小时8位数的BYTE,偶尔9位数;另外两台一台平均一小时7~8位数BTYE;还有一台平均一小时8位数BYTE,偶尔9位数。

按1Mbps算,1小时应该“128KB/s*3600*1024=471859200 BYTE”,显然没达到,不知道为啥。能解答下吗?  

4.好吧。。。还是谢谢了
0
耀磊数据-小凡
耀磊数据-小凡

美国服务器能用不?直接上美国高配置的服务器,带宽大,IP多。

返回顶部
顶部