从《权力的游戏》看如何防止性能中断
《权力的游戏》相信很多人都不陌生,尤其是跟我一样的美剧爱好者。《权力的游戏》第七季首播的时候吸引了数百万狂热粉丝,而第六季的结局有超过890万人观看(据我所知这是HBO的最高记录),显然如果考虑到所有不同类型的媒体形式(流媒体、直播、DVR和重播),那单集的观众总数约为2300万。
当我想到2300万观众同时试图从HBO访问同一个节目时,我的脑海中就会出现一些些的困惑。他们建立了什么样的基础设施?而且,更重要的是,他们是如何对这个方案进行性能测试的?如果我们都是30分钟的剧集,突然出现了中断怎么办?
我个人在HBO Go应用上观看《权力的游戏》,流媒体传输到我的电视上,于是我想做一些研究,看看在这个特殊的用例中是什么。
以下是我发现的关于HBO Go应用的情况:
- 它主要是基于Java的
- 使用Cassandra作为其主要数据源
- 通过REST APIs与家庭设备通信
- 在亚马逊EC2上发布流媒体内容,与MLB Advanced合作
根据互联网知识的膨胀...... HBO最初在内部计划了代号为Project Maui的流媒体服务。这大约是在2014年,但他们遇到了一些挑战,包括在《权力的游戏》和《真探》剧集期间发生的一些中断。(据称当时一些开发人员知道可能的内存泄漏,但将其归结为非问题,然而不幸的是,这些泄漏最终导致了中断。)
为了说明这类问题的重要性,HBO的CTO在Project Maui问题之后就辞职了,其中很大程度上与这些导致中断的内存泄漏有关。他们自己定制的平台的失败导致平台团队的方向发生了全盘改变,不得不转向第三方解决方案。人们不能低估关键任务基础设施的质量、性能和安全性的影响。
不过,在这些问题之后,HBO与MLB Advanced合作,现在他们做的是流媒体。那么,要对该基础设施进行充分的性能测试,以确保他们在周日不会发生灾难性的中断,会是什么样的呢?
这里有一张图,模拟了我猜测的堆栈的样子,以及适当的测试类型将适合的位置:
我会从重新创建登录、搜索和选择工作流开始。我会测试从应用服务器到服务的REST API调用,我会验证对后端数据库的功能调用。然后,我将重复使用这些调用来创建针对各个组件的性能和负载测试,以确保它们将孤立地执行,不会受到过饱和的影响。然后,我将从移动应用和浏览器体验中记录用户的体验,并将其重新用于性能测试。将这两个结果汇总在一起,同时监控底层技术的线程、内存泄漏、CPU利用率等,这将变得非常重要。这将帮助他们了解应用堆栈的潜在热点所在。
结语
性能测试有时会被忽视,但只要有正确的解决方案,这也会很容易。然而,如果忽视这一点,当他们的数据流突然停止时,你可能会被一群“狂怒的野蛮人”追杀。
如果你想复制我在那张图中的做法,利用基于环境的方法进行测试,你可以使用Parasoft SOAtest进行功能测试自动化,使用Parasoft Virtualize进行服务虚拟化。这些技术无缝连接,使你的测试易于管理。
从《权力的游戏》看如何防止性能中断相关推荐
- 从ARM裸机看驱动之按键中断方式控制LED(二)
硬件环境:Samsung Cortex-A9 Exynos4412 BSP 软件环境:Linux3.14 =============================================== ...
- 从ARM裸机看驱动之按键中断方式控制LED(一)
硬件环境:Samsung Cortex-A9 Exynos4412 BSP + JTAG ARM 仿真器 软件环境:Eclipse ================================== ...
- 如何看计算机cpu的好坏,cpu主要的性能参数有哪些、怎么看?教你几招轻松看懂CPU性能好坏...
CPU是Central Processing Unit(中央处理器)的缩写,CPU的详细参数包括内核结构, 主频,外频,倍频,接口,缓存,多媒体指令集,制造工艺,电压,封装形式,整数单元和浮点单元等. ...
- 计算机看游戏显卡,如何看电脑显卡性能
如何看电脑显卡性能 如何看电脑显卡性能?处理器与显卡是大家最关心的电脑硬件,很多小白都不知道如何看自己的电脑硬件.下面讲解如何看显卡,主要是怎么看电脑的显卡型号以及如何判断显卡的性能与档次.小编对显卡 ...
- xp系统查计算机设备型号,WinXP电脑CPU怎么看型号及性能
WinXP电脑CPU怎么看型号及性能 中央处理器简称CPU,而它是一块超大规模的集成电路,是一台计算机的运算核心和控制核心.对于很多WinXP用户来说,一方面对电脑配置不是很了解,另外一方面还不知道如 ...
- 透过数据看国产CPU性能排行
透过数据看国产CPU性能排行 国产CPU发展至今,可谓百花齐放,各家技术发展路线与产品各不相同.近日,一组关于主流桌面CPU的性能横评公布于网上,具体数据可能因为个体差异和测试环境因素有差别,但展现出 ...
- 如何看云服务器性能,从存储速度看云服务器性能测试
阿 贝云提供免 费云服务器.免 费云虚拟主机,大家有兴趣的可以看看,物超所值喔. 衡量存储性能一般看吞吐量(传输速度)和IOPS两个指标. 吞吐量主要指大文件的连续读写速度,在大文件的复制.备份等场景 ...
- 给网页设计师和前端开发者看的前端性能优化
如果不是不可能,你也很难拒绝承认性能目前已是任何正规网站项目的最关键方面之一,无论它是一个小型的网站组合,一个移动优先的web应用,一直到一个大规模的商业项目.研究,论文和个人体验都告诉我们快速是最好 ...
- 从LiveJournal后台发展看大规模网站性能优化方法[zz]
http://blog.zhangjianfeng.com/article/743 因近期打算对公司应用架构进行调整, 其中的一些思路值得借鉴. 以下为转载内容: 一.LiveJournal发展历程 ...
最新文章
- 【转载】你真的了解补码吗
- 如何查看,当运行一个hibernate 方法后到底执行了哪些SQL语句
- 【原生JS插件】LoadingBar页面顶部加载进度条
- 【车牌识别】+【模板匹配】基于智能交通的车牌识别系统
- GitLab 公开拒收中国员工,你怎么看?!
- @NotEmpty@NotNull和@NotBlank的区别
- java浪漫代码_30条代码,拿去“表白”
- 数字信号处理(4)- 自适应滤波器
- Scratch迷宫之自动生成二 画迷宫
- Unity显示FPS帧数
- 音频、音频属性-采样精度、比特率、音频格式
- 【AI面试】L1 loss、L2 loss和Smooth L1 Loss,L1正则化和L2正则化
- 重写Math 中sin cos asin acos 方法,将其入参或者返回值 从弧度改为角度
- 3.1.hole_behind_comprehensive_teaching_complex 综教楼后的那个坑
- 短域名系统设计详解(全)
- Cannot find module 'xxx' 错误的解决方案
- mysql中的describe语法详解
- CentOS 7系统启动后怎样从命令行模式切换到图形界面模式
- FastCAE工业仿真软件开源学院
- 基于springboot幼儿园管理系统
热门文章
- 杨桃的Python机器学习3——单特征与多特征、训练集与测试集
- 2023山东老博会·CSOLDE中国国际养老服务业展览会
- 推导挠率的关于参数t的表达式
- Buffer中的split方法分析
- 分治策略——快速排序、幂乘算法、芯片测试、改进分治算法的途径
- bootstrap1相关学习文档
- 什么是Kerberos?
- CAD计算机名称,【2人回答】CAD制图,用什么配置的电脑?哪方面配置较高呢?-3D溜溜网...
- 家庭教育二三事,2022/04/23,15:54:38
- 基于有限状态机在Unity3D中实现的简单搓招系统