细看淘宝背后的绿色缓存服务器
没有最多,只有更多!
谁也没有料到,淘宝会在2011年11月11日(光棍节)那天创下史无前例的电子商务单日销售记录。在经过前期投入数亿元大手笔的广告宣传后,2011年11月10日23点,淘宝人就在紧张地期待着2011“光棍节”的结果。
去年11月11日凌晨刚刚开始的8分钟内,淘宝商城支付宝交易额突破1亿元,20分钟实现2亿交易额,1小时实现4.39亿交易额。淘宝商城官方数据显示,“光棍节”期间订单数突破2000万单,“支付宝”交易额突破33.6亿,为去年同日交易量的近4倍;而淘宝网、淘宝商城“支付宝”交易总额突破了52亿,这个数字超过购物天堂香港6天的零售总额。
事实上,去年11月11日当天除了淘宝销售及市场人员在密切关注交易情况外,一支幕后队伍——技术团队也一直在紧张地盯着交易结算的峰值。阿里集团共享技术平台核心系统研发产品经理何燕锋就是其中的一员。好在一切都平安地度过了。
顶住“光棍节”疯狂冲击
忽如一夜春风来,千树万树梨花开。谈到“光棍节”以及随后的“12.12”两次单日高交易量,何燕锋认为是CDN内容分发网络系统确保了淘宝应对交易峰值和大交易量的实现。
“淘宝CDN内容分发网络系统承担了‘光棍节’将近90%以上的访问,当天的流量达到了800Gbps的带宽。目前淘宝在全国布了100多个点,用户访问和交易时,不需要从主数据库调用图片等,而是只需要就近从CDN系统上调用即可。这样大大提高了消费者的浏览速度”何燕锋说,“2012年淘宝的CDN节点部署将会接近300个,每个节点服务的带宽是10Gbps,届时用户会有更好的体验。”。
在杭州市华数机房,DOSERV记者看到了部署在这里的淘宝CDN节点机,这也是淘宝首批部署的低功耗CDN节点机之一,主要针对通过杭州广电接入互联网的用户。
淘宝CDN节点是一个小型的服务器集群,由存储系统、调度系统和网络系统组成。其中,调度系统由两台基于英特尔至强的服务器组成,负责把用户的请求分发给缓存系统中的不同服务器,让它们响应请求;网络系统则由两台交换机组成双链路,确保系统的可靠性;缓存系统则由7个2U机架组成,存放在一个机柜中,每个2U机架里部署了4个刀片,而每个刀片上有2台单独的基于英特尔凌动(ATOM)处理器的低功耗服务器。这样存储系统总计有56台服务器组成。
低功耗所以更高效
由于CDN节点托管在华数机房,一般而言,一个机柜能最多只能承受2200瓦的功耗,二十多台服务器的功耗就超过了2200瓦的阀值。那淘宝CDN节点的存储系统是如何将56台服务器存放在一个机柜中的呢?何燕锋介绍,由于采用了英特尔低功耗处理器作为服务器的“芯”,所以大大降低了服务器的功耗。普通处理器的功耗为80瓦左右,而ATOM处理器只有13瓦,因而即使是在2U机架中部署了8台服务器,总功耗才200瓦,7个机柜就是1400多瓦,远没有达到一个机柜的功耗上限。
而淘宝CDN节点服务器之所以能做到如此低的功耗,原因在于淘宝联合超微和英特尔对服务器进行了全方位的“改造”。用何燕锋的话来说,就是完全针对CDN加速的需要,将不需要的功能和配件全部舍弃了。同时针对CDN属于I/O密集型的特点,采用英特尔低功耗处理器替代传统的服务器处理器,弱化了CPU的计算能力,强化了输入输出能力。
另外考虑到热插拔的需要,服务器的硬盘和系统通过一个主板隔离开,一旦某块硬盘出现故障,技术人员不需要宕机就能将坏的硬盘更换掉。目前,淘宝给每个2U机柜配24块硬盘,也即每台服务器有3块硬盘来存取数据。这3块硬盘又按照1块SSD硬盘和2块SATA硬盘的配比,将热点数据存放在SSD盘上,而非热点数据则存放在SATA盘上。这样的配比大大提高了用户访问时的数据快速调取和命中的几率。而实现这种机制的,正是淘宝自己开发的缓存管理系统。
在华数机房试验成功后,淘宝又在青岛、厦门和佛山等地部署了同样的CDN节点,总的服务器数量超过了800台。正是这些CDN分发服务器,帮助淘宝顺利渡过了“光棍节”等超大交易量的考验。
CDN节点机的前世今生
CDN节点机在“光棍节”交易高峰中居功至伟,然而查遍市场上的服务器,却较少见其踪迹,这又为何呢?何燕锋表示,这是淘宝、超微和英特尔联合研制的专有产品,专门为CDN分发量身定制。参与该项目的阿里集团技术品牌部高级研究员(副总裁)章文嵩博士则向DOSERV记者介绍了节点机中低功耗服务器的来龙去脉。
淘宝技术团队在多年的实践中发现,对于像淘宝这样的互联网应用而言,大部分是数据密集型的访问,I/O会特别忙,但是CPU却相对空闲。假如用低功耗CPU来做服务器处理平台的话,将会是一个很好的选择,因为低功耗CPU整体处理能力会稍微弱一点,但是功耗会特别低。为此,以章文嵩博士为首的技术团队研究了国外的案例,对比了 ARM、英特尔和AMD的处理器,并最终选择了英特尔的低功耗处理器作为低功耗服务器的“芯”。
“淘宝在2009年底开始启动低功耗服务器项目,那时我们也在思考和比较,因为ARM也是一种选择,MIPS也是一种选择。当时考虑到迁移的成本,因为不同指令体系的架构迁移成本会比较高,比如操作系统就需要两套等。另外,新平台的稳定性也需要时间来证明,客户对新平台的接受程度等等,都是需要考虑的因素。”章文嵩博士表示,“最终我们选了Intel x86架构处理器来做低功耗服务器。”
2010年8月,在淘宝的推动下,Intel联合超微根据淘宝的需求设计了记忆ATOM处理器的低功耗服务器,并提供原型机给淘宝进行测试。
最初,原型机的测试结果只能到达900 Qps(每秒处理请求数),未能达到1000qps的设计要求。后来,通过淘宝的优化,将硬盘的控制模式由IDE改为AHCI,处理能力达到了1300qps,远远超过了设计能力。并且后续通过优化IO的性能,最终单片服务器的能力到达了1900qps,至此通过软件的优化,使得低功耗的服务性能完全超出了预期。
一切为了绿色
章文嵩博士坦言,CDN节点低功耗服务器只是开始,未来淘宝还会根据需要定制其它类型的低功耗服务器。更难能可贵的是,淘宝并没有将自己的研制成果锁进“保险柜”里,当做独家的财富。
“我们已经把CDN节点低功耗服务器的规格以及调优过程,发布到了Green Compute.org网站上,希望能有更多的企业受益。”章文嵩博士表示,“淘宝的定制服务器,不仅淘宝自己用,而且它还是面向全行业的,可以卖给别人,淘宝也鼓励厂商卖给其他用户。”