本篇是来自Video @Scale 2019的演讲,演讲者是来自亚马逊Resilience Engineering部门的Olga Hall,演讲题目为“Video load testing”,演讲介绍了亚马逊的视频服务的演进过程,以及如何进行负载测试。
Olga首先介绍了一位2001年加入亚马逊的工程师Jesse。在此之前,亚马逊服务的目标是找到能给用户最好体验的路径,而Jesse提出,我们更应该去寻找处理服务故障的措施。在当时,亚马逊整体服务就像是一个球,庞大、相互关联,Prime Video只是其中的一小部分。从人工手动进行负载测试,到建立常青树计划,到添加工程分支,到实现内部的各种工具,再到现在的全自动的部署测试,亚马逊服务在进行不断升级。现在,Prime Video可以每周运行3次全自动的部署测试。
接下来Olga举了几个他们遇到过的例子,说明了用户行为的不可预测性,更加反映出故障恢复的重要性。Olga从以下几个问题开始介绍实现上述目标的过程:
为此需要做常规的负载测试,例如服务能以多快的速度进行扩展部署等等。
随后Olga介绍了他们的做法,例如复现之前出现过的拥塞场景,测试系统的警报功能等,以及故障恢复组件应有的功能,比如预测功能,数据分析,故障模拟等等。
最后,Olga给出了一些建议:从一个具体的目标开始,保持对程序的专注,迈出第一步,确保服务的恢复能力,及时收取用户反馈并对系统进行优化。
附上演讲视频: