开发者社区> 问答> 正文

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

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

实验室要做主题爬虫,附带简单的搜索查询功能,现在要租用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.关于服务器负载的相关科普链接、干货(譬如量级、多少负载是个什么概念等、实测实例数据等等)?

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

展开
收起
kun坤 2020-06-03 18:31:52 1073 0
1 条回答
写回答
取消 提交回答
  • 1、一般来说是带宽更重要,当然包括你选择的服务器与目标服务器之前的连接速度,因为爬虫程序本身没有多复杂,对于现在的CPU来说没有一点压力,单个页面的分析处理最多 50ms
    2、一台两台来说的话,就你当前的应用来说,本身上对内存或CPU要求不算高,那么你要比较的就是价格了,或者你感觉有两台机器更安心?
    3、带宽要看你的程序在单机特定配置下,什么情况平均 CPU 大于 50% (这说明网络与数据处理到达一定的平衡)那么这时候的下载的速度就是一个带宽的参考。
    4、这个没法回答,有太多因素,主要还是先做一个平衡的选择之后,按需要做加法的。 ######我新的回复在下面######

    引用来自“夜狼”的评论

    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.好吧。。。还是谢谢了######美国服务器能用不?直接上美国高配置的服务器,带宽大,IP多。
    2020-06-04 11:06:33
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
基于社区的分布式 风险感知模型 立即下载
如何利用Redisson分布式化传统Web项目 立即下载
FLASH:大规模分布式图计算引擎及应用 立即下载