双11背后的功臣 认识网购网站服务器

2015-01-13 11:28技术宅
电脑爱好者 2014年24期
关键词:镜像网购内存

技术宅

探访幕后英雄  认识网站高性能服务器

任何一个网站都需要服务器的支持,服务器是用户访问网站网络的节点,它存储网站大部分的数据、信息,并对数据进行高效的处理。举个形象的例子,如果我们把购物的网民看作是现实生活中超市购物的市民,那么网站服务器就相当于连锁超市的管理层,它既要统筹全国各个门店的销售,为顾客创造良好的购物环境;又要处理全国顾客的购物需求,为购物者提供足量、优质的商品。

同样的,网站服务器(当然还需要IT技术人员的操控)也要担当起类似的功能,在前台它要及时响应网民的登录和点击,后台则要对网民实际购物进行高效处理,如商品的陈列、促销、结算、统计等。因此大型购物网站大多使用高性能的服务器,像淘宝使用的就是世界顶尖的BM Power Systems服务器(图1)。

软硬兼施  网站服务器是怎么保障网购的

根据统计,今年双11,在活动开始1分钟之内,天猫上有超千万人同时齐点,开场仅仅74秒,支付宝总成交额就超过1亿元,按照每单商品100元计算,这样支付宝服务器每秒就要完成14285单的支付(图2)。

显然这种高强度、并发式的海量数据是对网站服务器的严峻考验。那么在双11这场网购大战中,网站服务器怎么保障大家的网购?这里主要从硬件、软件两方面进行分析。

首先在硬件方面,网站服务器的配置都比较高端。这里以IBM Power Systems S822L服务器为例,这款服务器CPU由12核3.02GHz的POWER 8处理器组成,总计96个线程(每核芯512KB二级高速缓存、8MB三级高速缓存、16MB四级高速缓存),内存最大为64GB(1600MHz DDR3)。

大家知道,缓存大小是CPU的重要指标之一,而且缓存的结构和大小对CPU速度的影响非常大。CPU缓存是位于CPU与内存之间的临时存储器,它的容量虽然比内存小,但是交换速度却比内存要快得多。在CPU调用大量数据时,CPU缓存越大就可避开内存直接从缓存中调用,从而加快读取速度,大大提高CPU的计算效率,特别是在针对双11这种突发性、高强度海量数据的读取时,CPU缓存起到了极其重要的作用(图3)。

因此,仅从硬件角度来看,单台服务器的配置就非常“高大上”,而且这些服务器都是针对大数据工作负载优化过,更何况类似淘宝这样的网站是数千台这样高性能服务器组成的集群,这样从硬件上就保证服务器有足够强悍的计算吞吐能力(图4)。

其次在软件上,大型购物网站服务器的数据库普遍使用数据镜像方式进行并行计算。如上所述,大型网站服务器是一个服务器集群,服务器数据库使用镜像方式来并行处理用户的访问。数据镜像就是将数据处理分发到多个镜像服务器同时处理(图5),如果把双11比作农村婚宴,服务器就像是做菜的锅,网友就像是要参加婚宴的亲朋好友,因为来的客人很多,我们要准备很多的锅(服务器)同时煮菜(并行处理),这样才可以快速为每桌上好婚宴的饭菜。

网站服务器使用数据镜像方式既可以做好负载均衡,同时又保证了数据的一致性(并行镜像服务器使用同一数据库),而且还有高可用性,即使某台服务器挂了,其他镜像服务器仍可以提供同样的服务。

面对移动终端挑战  网站服务器移动优化措施

随着移动购物的兴起,现在购物网站服务器还要针对移动端发起的购物请求做出优化。2014年双11的活动开始以来,淘宝消费者在移动端访问双11会场的流量几乎达到了PC端的两倍。

由于移动端网络不稳定性和终端多样性,为了确保移动交易完成,一方面购物网站服务器要结合移动终端特点(如手机屏幕小、配置较低、移动网络网速慢)进行优化,对网页进行瘦身,实行按需加载、内存精简等优化项目,确保移动端访问更高效。另一方面则要对常见的终端进行适配,在服务器要保存足够的适配页面,确保大多数的移动终端都可以正常访问购物页面(图6)。

除此之外,网站服务器还会用到各种大数据处理技术以保障用户网购可以顺利完成。如异构计算技术(使用服务器CPU和GPU协同计算,提高服务器整体计算能力)、批量处理技术(把一堆基本相同的请求批量处理,如大家同时购买同一个商品,服务器在后台收集到一定数量的请求后一次性完成操作)、异步技术(即收集请求,然后延时处理,如网友在同一时间提交支付请求,如果达到服务器上限,服务器就会自动将请求进行排队以减轻服务器的压力)等,来尽可能保证用户的网购可以在最短时间内完成,同时又不会让服务器宕机。

总之,正是这些幕后强大的技术支持,才确保了我们网购时的痛快淋漓。

猜你喜欢
镜像网购内存
教老妈网购
外部高速缓存与非易失内存结合的混合内存体系结构特性评测
网购寒假作业
网购寒假作业
“春夏秋冬”的内存
镜像
镜像
基于内存的地理信息访问技术
上网本为什么只有1GB?