做分布式爬虫和搜索引擎对于服务器配置有什么要求?
实验室要做主题爬虫,附带简单的搜索查询功能,现在要租用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、一般来说是带宽更重要,当然包括你选择的服务器与目标服务器之前的连接速度,因为爬虫程序本身没有多复杂,对于现在的CPU来说没有一点压力,单个页面的分析处理最多 50ms
2、一台两台来说的话,就你当前的应用来说,本身上对内存或CPU要求不算高,那么你要比较的就是价格了,或者你感觉有两台机器更安心?
3、带宽要看你的程序在单机特定配置下,什么情况平均 CPU 大于 50% (这说明网络与数据处理到达一定的平衡)那么这时候的下载的速度就是一个带宽的参考。
4、这个没法回答,有太多因素,主要还是先做一个平衡的选择之后,按需要做加法的。 ######我新的回复在下面######
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。