抵御流量洪峰能力成数据中心性能新指标
2016-01-07 D1Net 编辑:harbor
2016年元旦刚过,微信抢红包就出了名。2016年元旦,微信跨年红包收发总量达到23.1亿次,甚至最高峰值在一分钟内有240万个红包被发出,620万个红包被拆开。和这些数字相比,抢红包期间出现的各种异常、故障更令人印象深刻。今年跨年夜期间,微信红包再次由于使用人数过多,突破了其服务器可承载的峰值而出现故障。在2015年12月31日晚十一点到2016年凌晨一点时间,微信开始出现红包无法发出,无法正常收取群信息、在朋友圈无法发图等现象,系统显示原因是因为系统繁忙、获取证书信息失败。显然微信应对红包流量洪峰到来,准备还不够充分。当用户开始爆发式增长时,数据中心往往还没有做好准备,就会出现各种问题,访问体验效果大打折扣。之前12306网站、淘宝双十一时支付宝都出过系统崩溃问题,都是对流量洪峰预估不足,当真正的流量冲击数据中心时,数据中心的各种防御体系迅速崩溃。
如今很多种应用流量都具有突发性的特点,造成访问数据中心的用户数量并不是平稳,而是变化的。比如很多网站推出的限时抢购,特定时间登记报名等,这些应用都是在某个时间点突然大量的用户访问,时间过后一切又恢复平时用户访问状态,这个突发流量是平时流量的数十倍,甚至数百倍。在如此大的突发流量下,再强的数据中心也难以抵挡,不过反过来看,抵御突发流量洪峰的能力凸显了一个数据中心的综合性能。哪个数据中心也不想“一世英名,毁于一旦”,而且这种短期的大量用户访问,往往可以给数据中心带来极为丰厚的回报,这是谁也不愿意放弃的原因。我们在谈论数据中心性能时,往往主要考虑是否是绿色的,服务器处理能力怎样,网络带宽等,很少有谈及抵御流量洪峰能力,都是根据以往业务访问量来设计数据中心,对于数据中心可能遇到的突发流量洪峰预估不足,这样在集中时间搞各种活动时,流量洪峰到来,就容易掉链子。这类活动受关注的程度都很高,在这样的注视下出现问题,带来的负面影响是深远的,会因此流失很多忠实客户,所以应该将抵御流量洪峰的能力看成是数据中心的重要性能指标之一。
一个数据中心,拥有再多服务器、再宽的网络带宽、软件系统再牛,抵御不住一次流量冲击也是无用。数据中心在进行设计时,一定要考虑流量洪峰的情况,这个流量洪峰有多大,要采集各种数据,进行缜密分析,得出可能出现的流量洪峰,根据这个可能出现流量洪峰进行数据中心设计。考虑到成本的原因,数据中心不可能无限制地扩建规模,这样获得流量洪峰数据至关重要,可以根据这些数据模拟流量向数据中心发起攻击测试,看数据中心的整体表现,每一个访问用户体验感怎样,发现不足的地方及时更正,直到整个数据中心可以自如应对攻击测试。当然,模拟测试和真实的访问流量还是有区别,不可能做到完全一致,数据中心涉及的细节技术实在太多和复杂,所以一般通过模拟测试后,还要再留有50%的余量,以便应对可能出现的突发情况,即使这样还是不能完全避免真正的流量洪峰到来时,数据中心不出一点问题。对于这种情况,数据中心往往会做多种应对方案,比如将突发流量及时分发到各个数据分中心,多点同时处理,减少流量对数据中心整体冲击;临时在原有数据中心机房搭建网络和服务器设备,一旦顶不住,及时将这些备用设备接入网络,扩大数据中心处理能力;亦或对访问用户进行限流限量,虽然降低了用户的体验感,至少数据中心不会整体崩溃,大量用户排队、等待访问。这也是我们在访问一些网站时经常遇到的情况,当打开某个网站或应用时,会得到提示“如果遇到系统繁忙,建议稍晚重新操作”,这种是数据中心最普遍的做法,所以数据中心遇到这种流量洪峰,就会进行限流,这也是一种不得已而为之的做法,是数据中心达到性能极限的体现,所以将数据中心应对流量洪峰能力作为性能指标再适合不过了。
抵御流量洪峰的能力往往需要从应用层来进行评估,很多指标不好量化,它不像PUE、网络带宽、服务器CPU 能力那么好量化,更多的是访问用户的一种体验。比如在访问数据中心时,网页界面打开需要的时间,填写各种信息时避免有无响应情况,这些感知型的体验无法量化。当然,我们可以用访问用户的量来进行评估,比如多个用户并发,持续时间,每个用户的访问流量多少,根据这些访问用户的特征,再对数据中心进行测试,得出数据中心的性能评估。性能结果就是在这样规模的用户量下,数据中心的表现是好、比较好、一般、较差、差几个等级中的一个。根据这个评估结果,再对数据中心进行改进,改进的效果最终还是通过模拟访问用户的量来确定。在面对流量洪峰时,一旦数据中心出现了系统繁忙的情况,用户访问出现等待的情况,就说明数据中心性能不足,流量洪峰过后还需要对数据中心进行优化,以便在下一次流量洪峰到来时,数据中心能抵挡住。如果数据中心业务发展得比较好,用户量必然不断增长,流量洪峰会越来越高,数据中心需要不断提升性能,积极应对,否则在连续出现体验差,访问长时间等待的情况,就会渐渐流失用户。最让人乐见的是,数据中心每次应对流量洪峰后,对于出现的问题及时进行补救,数据中心性能不断提升,抵御流量洪峰的能力越来越强。