项目介绍:
腾讯课堂是腾讯推出的专业在线教育平台,凭借技术优势,实现在线即时互动教学,打破地域的限制,让每个人都能接受优秀老师的指导和教学。
一、背景
2020 年初,新冠病毒肆虐,疫情大面积爆发,受疫情影响,学校无法开学。为了广大学生的学业不受影响、响应停课不停学的号召,腾讯课堂临危受命紧急开发极速版,守护千万师生身心健康。
二、用户挑战
腾讯课堂 2 天上线极速版,2 周内支持同时在线人数超百倍增长,对整个后台挑战非常大。
三、用户痛点
-
业务激增,系统稳定性危如累卵:
腾讯课堂极速版要解决各学生线上上课需要,支持量达到 100 倍量级增长。业务激增给后台带来十分巨大的挑战。
-
系统性能水位模糊,承载能力难以评估:
保证腾讯课堂要稳定上线,无法评估系统的承载能力,扩容、资源分配缺少数据支撑,扩容进展十分艰难。
-
工期紧,量级大,压测能力要求高:
上线急,标准高,任务重,一般压力测试难达标。腾讯课堂大年初三收到军令状,使用 2 个通宵生死急速开发完并上线。这代表着需要强大的系统能力,在 2 个通宵内进行大量压测任务,一扫百倍级增长带来的一系列问题,保障上线的系统稳定。
# 四、解决方案
## 1.全面的压测能力支持&丰富的开放能力
优测提供强大全面的压测支持,可完成整个产品后台服务的容量评估、单接口压测、全链路压测等。支持与用户自有系统/工具集成,接入 DevOps CI/CD 流程。
腾讯课堂为完成这次艰巨任务,做出 “先抗住后优化” 策略,紧急进行梳理极速版用户路径,接入优测压测进行系统容量评估,扩容,单接口压测,全链路压测,并持续验证迭代,保障系统的可靠稳定。
-
容量评估
从用户端->接入层->逻辑层->存储层多层级对各个链路模块进行全链路容量评估,确保各个环节均无出现短板。
-
单接口压测
因为没时间全盘优化,在量突然暴涨的情况下,某个模块过载或者爆 bug 的概率会变大,所以对腾讯课堂的用户登录->查课表->上课等核心路径上,采取单接口压测方式,分析链路瓶颈,采取策略,保障主要模块稳定。
-
全链路压测
初步扩容后,防止梳理不全等容易遗漏的问题情况,腾讯课堂使用优测的全链路压测来挖掘性能瓶颈和系统隐患。
2.强大的测试用例&并发压力执行能力
优测压测能力强大,可模拟每秒百万级以上请求次数,即召即用,无需等待。
腾讯课堂上线急迫,开发与压测并行,白天关注监控和开发版本,凌晨 12 进行压测和发布扩容。整体压测需求量巨大,至多每日发压 120 多次,日均发压 80 次左右。
五、效果
优测通过多样化、强大的服务对腾讯课堂提供多层级全面压测支持,深度挖掘出上线前系统的性能瓶颈,并持续迭代优化,使其在紧迫的时间内得到了质的飞跃。
腾讯课堂上线后,短短 2-3 周,各项指标百倍增长,AppStore 免费类排行榜进 Top10,教育类稳居 Top1。