作者reader (读者)
看板CSSE
标题Re: [问题] 爬全球的网站大概要花多久?
时间Mon Aug 28 01:20:40 2006
※ 引述《haryewkun (Har)》之铭言:
: ※ 引述《reader (读者)》之铭言:
: : 如果 Yahoo 的估计量是正确的, 20G 的网页,光是检查有没有更新,大约就要
: : 花上 10TB 左右的流量,更新的总资料量则和时间有关。
: : 若要一周检查一次,更新率为 1%, 平均网页大小为 50KB, 则总共的资料量为
: : (20G * 0.01 * 50KB + 10TB) / 50MB = 400K sec, 一周有 600K sec 以上。
: : 所以理论上,只要一台好机器就可能在一周内爬完全球网页。只是若要收敛到
: : 这个地步,需要较长的时间。我就不去计算了。
: 有两个小小的问题。
: 如果要在一个星期内,检查两百亿个网页有没有更新,这台机器,同一个时间
: 内,要处理多少个 TCP/IP connection?
20G / (86400 * 7) 约等於 33000.
所以每秒钟似乎得处理三、四万个连线。
不过实际上的数字会远小於此数,因为一个连线就可以检查该机器所有的
网页,而大部分的网页都存在少数网站上,通常还是高效能网站。所以,
只要好好运用 Keep-Alive, 连线数量并不是问题。
当然慢速网站的拖累会是一个麻烦,那就是工程上的取舍和技巧了。
: 第二个问题就是,只用一台电脑,能够处理及储存 20billion条资料,而且平
: 均每条资料都有 50K 的长度吗?(总资料量是 20G*50K = 1000 TB)
: 我的意思是,就算你用硬碟阵列,一台硬碟 500GB,你也需要差不多两千台的
: 硬碟吧?
这种资料处理基本上不需要回头读取,所以可以使用其他机器或外接设备来
储存资料,例如磁带柜。
例如目前销量很好的 Sun StorageTek SL8500, 一台就可以储存 10EB 的资料。
要储存全球网页根本不是问题。
所以,一个全球服务的大型网站系统需要很多机器,高速反应更是考验工程
设计品质,但是一个搜寻全球网页的系统,反而不需要很多机器。
注: 1EB = 1000 PB, 1PB = 1000 TB
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.222.173.30