信息化 频道

淘宝绿色计算实践:CDN缓存服务器的定制

  【IT168信息化】

  “好,时间到,开抢!”坐在电脑前早已等待多时的宋兰(化名)一看时间已到2011年11月11日零时,便迫不及待地投身于淘宝网一年一度的大型网购促销活动——“淘宝双11”购物狂欢节。

  宋兰不知道,就在11日零点过后的这一分钟内,全国有342万人和她一起涌入淘宝网。当然,她更不知道,此时此刻,在淘宝公司杭州总部的一间办公室里,淘宝技术部核心系统负责人兼高级研究员章文嵩和淘宝的一群技术高手们,正在黑板上纷纷写下注,看谁能最准确地猜中“淘宝双11”CDN流量峰值和全天的交易总额。

  不过,看似轻松的氛围下,章文嵩和他的同事们内心多少有些忐忑:本次网购盛会对淘宝的各个服务系统而言都是一次巨大的考验,其中最大的考验则是对章文嵩所负责的,刚刚上线的,基于英特尔凌动(ATOM)处理器定制的低功耗服务器而新搭建的CDN系统。因为,虽然已有测试证明该CDN系统可以应付超大流量,但那毕竟是测试结果,真实情况会怎样,谁都没底。

  24小时之后,淘宝网和淘宝商城高达52亿的交易额让淘宝笑了,而章文嵩的心也终于落定。

  始自节能之需

  对互联网相关技术比较熟悉的人大概都了解CDN。CDN全称Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。

  在淘宝,章文嵩表示,为了保障近四亿淘宝用户的购物体验,该公司已在全网部署了103个用于加速的CDN节点,单节点服务能力大于10Gbps,CDN Web Cache服务器数量超过4000台。

  当然,支撑整个淘宝日常运营的远不止这几千台CDN web cache服务器。这些服务器每天的耗电量非常惊人,在淘宝网运营成本中占据了相当比重并逐年上升。因此,节约服务器用电量,已经成为不得不考虑的问题。而最直接的方法,就是在满足性能要求的前提下,采用比传统服务器省电的低功耗服务器。

  低功耗服务器之所以比传统服务器的省电,主要在于采用了低功耗CPU。低功耗CPU在带来低功耗的同时,也损失了处理速度。因此,消耗CPU资源少的应用是低功耗服务器首要应用场景。而从淘宝整个服务器体系来看,满足这一要求的恰好是CDN Web Cache服务器,最终,该公司决定在CDN节点尝试使用定制低功耗服务器来替换传统服务器,并于2009年底正式启动绿色低功耗服务器定制项目。 “不只是攒个机器”

  “定制低功耗服务器,表面上看是攒个机器,不过实际上并非如此简单。”章文嵩告诉记者。

  市场上传统的低功耗处理器,其节省功耗的原理,是在原有高性能处理器的基础上,通过控制处理器在闲时的主频和耗电,同时简化乱序处理的逻辑模块,来减少不必要的消耗。但该方式受限于原有的高性能架构,整体功耗降低效果并不明显,特别是在IO密集型的业务上。而淘宝网用于静态内容加速的CDN Web Cache服务器,主要功能正是对静态的网页和图片进行读写操作,属于IO密集型业务。

  “因此,针对IO密集型业务,我们需要寻找区别于以往传统的、更低功耗的处理器和服务器方案。”章文嵩说。

  项目启动之初,淘宝选择某知名芯片平台供应商作为合作伙伴,并于2010年6月制作出原型机,但遗憾的是,该原型机未能通过线上测试。因此,2010年8月,淘宝选择在整机解决方案方面比较有经验的美国超微公司和英特尔。最终,在三方的努力下,基于凌动处理器D525的低功耗服务器定制成功,并于2011年6月开始在淘宝实施规模化部署。

  在杭州华数机房,负责该服务器定制的产品经理何燕锋带领记者实地参观了一处由该低功耗服务器所搭建的CDN节点机群。其中,一个2U空间里能放8台凌动低功耗服务器(8台服务器共享一个机箱),单台服务器功耗仅25W,也就是说,这8台低功耗服务器的总体功耗也才200瓦。这200瓦是什么概念呢?何燕锋指着该CDN节点机群中一台服务器,告诉我们说,那就是市面上的普通服务器,主要负责调度功能,其功耗为150W,占1U空间。两相对比,低功耗服务器的低功耗高密度的优势十分明显。

  值得一提的是,章文嵩和他的同事发现,淘宝CDN缓存对象具有的特征是:18KB以下的对象数量占总数量的80%,而存储量只有不到40%;同时,80%被访问对象所占用的存储空间不到20%。这意味着“热数据”(访问频次高的内容)占的空间其实很小,而“冷数据”(访问频次低的内容)所需存储量很大。因此,淘宝特意为该低功耗服务器引入分层存储机制,所以单台低功耗服务器的硬盘其实是由一块80GB的SSD盘和两块500GB的SATA盘组成。这样,“热数据”存放在SSD盘上,“冷数据”就存放在SATA盘上,从而兼顾速度、容量与成本。而分层存储调度软件则由淘宝独立开发。

0
相关文章