如何应对美国春晚“超级碗”带来的海量访问请求?

标签: 美国 春晚 超级碗 | 发表时间:2013-02-07 12:47 | 作者:
出处:http://pipes.yahoo.com/pipes/pipe.info?_id=10560380f804c7341f042a2b8a03e117

美国时间2013年2月4日,美国人民的春晚——美国橄榄球联盟(NFL)第47届“超级碗(Super Bowl)”总决赛——在新奥尔良穹顶体育场上演。“超级碗”有三个最吸引人之处:精彩的比赛、中场表演、比赛中插播的广告。

本届超级碗峰值家庭收视率达到71%,因此是广告主的必争之地,平均价格达到每30秒400万美元。诸多广告中,很多都号召观众去网站互动,因此导致众多网站不堪重负。

Yottaa是一家专门提供网站优化服务的公司,据他们监控, 共有13家网站在本次事件中被不同程度拖垮。以可口可乐为例,其网站的加载时间达到62秒。SodaStream、Calvin Klein、Axe、Got Milk?以及其他电影和汽车站点亦受影响中枪。

那么如何避免类似情况呢?Yottaa提供了4点建议:

  • 减少网页上的元素数量的大小,创建更小、更轻量级的页面,以保证页面加载更快
  • 使用网站性能监控,以全天候发现任何网站可能发生的问题
  • 使用CDN,从地理位置上离你遍布世界各地的用户更近,减少网站的大部分流量
  • 根据预测的流量执行实时负载测试,要度量你的网站在高负载下的实际表现,这是唯一的方式。

个人开发者 Michael Hamrah也在自己的博客上撰写了一篇文章 《如何应对“超级碗”这样的高峰流量》,文中也给出了一些建议:

  • 做出假设。

要敢于假设你的流量模式。这有助于你针对自己的特定情形进行优化。很多面向大众的网站,其访问都是匿名的,特别是像超级碗这样的流量高峰。因为你可以针对所有的匿名用户提供完全一样的内容,你可以让他们访问完全一样的静态页面。缓存控制决定了内容多久仍有效,并可使用HTTP加速器和CDN进行分发。不用针对每个人都做优化,将用户分类,为大多数优化。把页面上的缓存规则设为1分钟,这都可以降低应用负担,释放有价值的资源。匿名用户可以更快下载静态缓存内容,动态用户将可以更快地访问服务器。

你也可以针对高度动态的内容创建特定的渲染管道,供匿名和已知用户使用。如果你能早些识别匿名用户,就可以避免代价高昂的数据库查询、外部API调用或是页面渲染。

  • 理解HTTP

HTTP是web的基础,更深入地理解HTTP,你就更好地利用工具优化页面。要特别注意 Http报头的缓存设置,这让你可以利用Varnish和CDN这样的web加速器。使用不同报头针对匿名和已知用户,你可以对各自访问的内容有更精细的控制。过期报头决定内容的新旧程度。最糟糕的做法,就是把缓存报头设置为不公开静态内容,阻止浏览器缓存本地内容。

  • 使用Varnish和ESI

Varnish是一个HTTP加速器,它可以缓存网站产生的动态内容。Web框架常常有自己的内容缓存特性,但是Varnish让你可以完全越过应用栈,提供更快的响应时间。你可以向更多连接发送已渲染好的动态页面,就像发送内存中的静态页面一样。

Edge Side Includes简称ESI,是将静态和动态内容混合在一起。如果一个页面对所有人来说有90%是接近的,那么你可以在Varnish中缓存90%,然后让应用服务器发送其他10%。ESI刚刚在web框架中出现,在Rails 4中,它会占据更重要的地位。

  • 使用CDN和多个数据中心

如果你在多个数据中心中运行Varnish服务器,这就等于创建了自己的CDN。数据库和内容也许存放在东海岸,但如果你在西海岸运行一台Varnish服务器,你在旧金山的用户就会得到更快的响应时间,你也可以减少一个到应用服务器的链接。即使Varnish必须通过东海岸的ESI发送10%动态内容,它也可以利用数据中心之间更快的连接。

  • 使用自动扩展组或警告

自动扩展组是AWS的出色功能,尤其达到某个阈值最大值的时候。如果你没有使用AWS,优秀监控工具能帮你采取行动。如果你在设计应用时考虑到了自动扩展,在内部通信使用负载均衡器,也是不错的选择。

  • 压缩并序列化数据

如果开启压缩,页面大小就能大幅降低。Web流量主要是文本,易于压缩。别忘了内部通信也可以压缩。在当今这个API驱动的世界里,诸如协议缓存这样的高效序列化协议可以大幅降低网络流量。很多RPC工具支持某种形式的序列化优化。SOAP是二十一世纪早期的热门方法,但从速度角度考虑,XML是最差的数据序列化方法。压缩内容能在缓存内保存更多东西,同时降低网络I/O。

  • 关闭某些特性

在高流量时刻,关闭表现不正常的特性是解决问题的最快方式。

  • 非阻塞的I/O

异步编程充满挑战,也许是扩展性的最后一道关隘。有时,网站服务器崩溃了,却看不出达到任何阈值。也许你曾看到一个缓慢的请求,但是内存、CPU和网络的访问指标都很正常。这种情况常常是由于某种形式的I/O线程被阻塞然后等待造成的。被阻塞的线程让其他事情都停下来。基于异步的框架,比如node.js,将异步编程放在前端,让它们处理更多并发请求。异步编程还为基于队列的架构铺平道路。如果每个请求都通过队列处理,这有助于缓解流量高峰。队列大小会决定你需要多少个队列的worker。异步也许不太好理解,但这是处理扩展的重要方式。

Michael的最后一个建议是总结性的:

  • 以扩展的方式思考

在高负载环境中处理问题时,一切都要考虑在内。针对几千个用户没有问题的方法,要是用来对付几百万用户,可能就失去控制了。即使是最小的问题,也会以指数级增长,变得不可收拾。

扩展不仅仅是要想到用来对付负载的工具,而是要决定你的应用如何表现。最重要的事情,是要判定页面内容对于用户的新旧程度。对于每个用户都提供秒级的更新,或是针对匿名用户提供分钟级的更新,二者的决策完全不同。在应对数百万并发请求时,一个会带来很多工程上的复杂度,另一个则可以快速解决。

看到美国人民的春晚导致的网站崩溃之后,你认为会在中国人民的春晚播放时发生吗?

郑柯 郑柯,实用的理想主义者,相信:每天改变一点点,这个世界会更好。

您可能也会喜欢

相关 [美国 春晚 超级碗] 推荐:

如何应对美国春晚“超级碗”带来的海量访问请求?

- - InfoQ cn
美国时间2013年2月4日,美国人民的春晚——美国橄榄球联盟(NFL)第47届“超级碗(Super Bowl)”总决赛——在新奥尔良穹顶体育场上演. “超级碗”有三个最吸引人之处:精彩的比赛、中场表演、比赛中插播的广告. 本届超级碗峰值家庭收视率达到71%,因此是广告主的必争之地,平均价格达到每30秒400万美元.

美国超级碗创意广告精选集

- Leo - 无聊哦
美国超级碗创意广告精选集,创意十足啊,02:25的那个广告太亮了,笑死我了~. 查看原文  |  发表评论(抢板凳). © 疾风 for 无聊哦 | 原文链接 | 搞笑哦 | 淘宝网上卖疯了的东东. 订阅 无聊哦 http://feed.wuliaoo.com. 订阅 搞笑哦 http://feed.gaoxiaoo.com.

微博上的春晚更“给力”

- danbao - 左岸读书_blog
今年的春晚,我是有一碴没一碴地看到十二点,然后就跑去放烟花、鞭炮了. 不能说没有内容,但终究没有什么令人感动的地方,倒是今天看到的有人整理了一篇微博上的春晚,有意思得多. 链接:http://blog.sina.com.cn/s/blog_48670cb201017hn1.html. 【开场舞《回家过年》表演者:韩庚、董洁、殷桃、周冬雨、窦骁/歌曲《天蓝蓝》表演者:宋祖英】.

盘点龙年央视春晚八大看点!

- - 苗禺哥
   没了赵本山,龙年春晚看什么. 不少观众很担心,但据潜入现场看过彩排的记者透露,今年春晚还很有几个看点,几分新意. 看哈文淡定的态度就知道了,那叫四个字――心里有底.    看点一:明星亮相.     吴秀波、王珞丹、冯绍峰、白百合、韩庚……过去一年影视圈里的几个红人,春晚基本都凑齐了. 王珞丹唱的还是开场歌曲,她自嘲自己的嗓子“唱 KTV还可以”,吴秀波虽是出过专辑的专业歌手,但十几年不唱也生疏了,而且这回和韦唯合唱《爱的奉献》,难度肯定不小.

大牌沦陷春晚!是否音响惹的祸?(图)

- - 苗禺哥
春晚已经过去好几天了,但春晚音响是否出了问题依然是这两天微博热议的话题. 萨顶顶《万物生》春晚版音频原唱.   王菲、王力宏、萨顶顶……一个个大腕在龙年春晚现场演唱后,被集体质疑水平失常. 网络上随即爆出春晚音响团队出现问题,严重影响了歌手发挥. 从当晚直播也可以看到,刘欢刚刚演唱了一句,便立刻摘去一个耳麦,更是让人猜测春晚现场音响出现问题.

春晚舞台的 3D 全息效果是怎么做成的?

- - 知乎每日精选
那些根本就不是全息,而是3D的虚拟植入. 在春晚的直播中,已经多次出现3D的虚拟植入了. 例如 我的微博里所列出的这些  http://weibo.com/1700267835/zipIztU0T#1360419341409. 福字,灯笼,蝴蝶飞舞,虚拟光源等等. 所有的3D虚拟物体其实是计算机绘制的,然后通过一个叫虚拟植入渲染引擎的东西实时绘制并加载在摄像机拍摄到的视频信号中.

微博春晚背后的技术故事

- - 博客园_新闻
一年一度的春晚再次落下帷幕,而微博也顺利地陪伴大家度过除夕之夜. 谈及马年春晚,人们首先想到的不是春晚上精彩的节目,而是微博上的吐槽,边看春晚,边刷微博,边吐槽,已经成了国人的习惯. 看春晚不再是为了看节目,而是为了能够在微博上吐槽,知道大家在吐槽什么,更有人戏称不是春晚成就了微博,而是微博拯救了春晚.

2018微博内部技术分享春晚专场

- - 鸟窝
这是公司内部分享的各部门春晚保障的技术分享. 我将其中的和公司隐私相关的数据删除了,只保留了技术的介绍,总结了一些知识点. 双十一、微信红包和微博的区别(无法预期). 孟兆飞 混合云架构下微博春晚保障. 15分钟1000台全公司随时随地. 双仓库(公司内网、阿里云). 传统扩容,由于资源限制会失败.

[转载]春晚央视不再独美 地方卫视百花齐放

- - 杨晖的博客-TV2.0的实验田
作者:任磊磊 | 来源:齐鲁晚报. 发布于:2012-01-30.   今年,地方卫视共计奉献了18台春晚. 相比较央视春晚的中规中矩、大气全面,地方春晚在创新和演员阵容上更有滋味,而且地方卫视春晚会集了众多央视春晚的熟脸,“央视春晚”的概念变得越来越模糊. 其实,不论是央视春晚还是地方卫视春晚,丰富的都是老百姓的节日生活,喜欢的就看,不喜欢咱就换台,反正遥控器在自己手里.

美国IT圈家谱

- ZB - cnBeta.COM
为什么全球的科技新闻/互联网新闻/创业新闻都被美国所占据. 为什么美国的互联网创业行业总吸引所有 人的眼球. 看了这张美国科技圈图谱,我想你应该有所眉目. Microsoft(微软)、Amazon(亚马逊)、 Disney(迪斯尼)、Apple(苹果)、Google(谷歌)、Facebook、AOL、Twitter、eBay、Paypal……看看这些企 业是怎样一环扣一环,怎样反哺新的创业企业,打造全球科技良性循环生态圈的.