【优测云服务平台】打造承载百倍级增长后台背后的力量-性能优化

项目介绍:
腾讯课堂是腾讯推出的专业在线教育平台,凭借技术优势,实现在线即时互动教学,打破地域的限制,让每个人都能接受优秀老师的指导和教学。

一、背景

2020年初,新冠病毒肆虐,疫情大面积爆发,受疫情影响,学校无法开学。为了广大学生的学业不受影响、响应停课不停学的号召,腾讯课堂临危受命紧急开发极速版,守护千万师生身心健康。

二、用户挑战

腾讯课堂 2 天上线极速版,2 周内支持同时在线人数超百倍增长,对整个后台挑战非常大。

三、用户痛点

  • 业务激增,系统稳定性危如累卵
    腾讯课堂极速版要解决各学生线上上课需要,支持量达到 100 倍量级增长。业务激增给后台带来十分巨大的挑战。
  • 系统性能水位模糊,承载能力难以评估
    保证腾讯课堂要稳定上线,无法评估系统的承载能力,扩容、资源分配缺少数据支撑,扩容进展十分艰难。
  • 工期紧,量级大,压测能力要求高:
    上线急,标准高,任务重,一般压力测试难达标。腾讯课堂大年初三收到军令状,使用2个通宵生死急速开发完并上线。这代表着需要强大的系统能力,在2个通宵内进行大量压测任务,一扫百倍级增长带来的一系列问题,保障上线的系统稳定。

四、解决方案

1.全面的压测能力支持&丰富的开放能力

优测提供强大全面的压测支持,可完成整个产品后台服务的容量评估、单接口压测、全链路压测等。支持与用户自有系统/工具集成,接入DevOps CI/CD流程。

腾讯课堂为完成这次艰巨任务,做出“先抗住后优化”策略,紧急进行梳理极速版用户路径,接入优测压测进行系统容量评估,扩容,单接口压测,全链路压测,并持续验证迭代,保障系统的可靠稳定。

  • 容量评估
    从用户端->接入层->逻辑层->存储层多层级对各个链路模块进行全链路容量评估,确保各个环节均无出现短板。
    在这里插入图片描述

  • 单接口压测
    因为没时间全盘优化,在量突然暴涨的情况下,某个模块过载或者爆 bug 的概率会变大,所以对腾讯课堂的用户登录->查课表->上课等核心路径上,采取单接口压测方式,分析链路瓶颈,采取策略,保障主要模块稳定。

  • 全链路压测
    初步扩容后,防止梳理不全等容易遗漏的问题情况,腾讯课堂使用优测的全链路压测来挖掘性能瓶颈和系统隐患。
    在这里插入图片描述

2.强大的测试用例&并发压力执行能力

优测压测能力强大,可模拟每秒百万级以上请求次数,即召即用,无需等待。

腾讯课堂上线急迫,开发与压测并行,白天关注监控和开发版本,凌晨12进行压测和发布扩容。整体压测需求量巨大,至多每日发压120多次,日均发压80次左右。

五、效果

优测通过多样化、强大的服务对腾讯课堂提供多层级全面压测支持,深度挖掘出上线前系统的性能瓶颈,并持续迭代优化,使其在紧迫的时间内得到了质的飞跃。

腾讯课堂上线后,短短 2-3 周,各项指标百倍增长,AppStore 免费类排行榜进 Top10,教育类稳居 Top1
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/142035.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从裸机开始安装操作系统

目录 一、预置知识 电脑裸机 win10版本 官方镜像 V.S. 正版系统 二、下载微软官方原版系统镜像 三、使用微PE系统维护U盘 四、安装操作系统 五、总结 一、预置知识 电脑裸机 ●只有硬件部分,还未安装任何软件系统的电脑叫做裸机。 ●主板、硬盘、显卡等必…

LLM - 通俗理解位置编码与 RoPE

目录 一.引言 二.Why 位置编码? 三.What 绝对位置编码? 1.绝对位置编码 A.Embedding Table B.公式计算 2.外推性 四.How 位置编码? 1.直接编号 2.乘法表示 3.严格的乘法表示 4.距离衰减 五.Thats RoPE! 1.Self-Attention 2.RoPE 的复数形式 3.RoP…

前端就业宝典---目录

工作时候扭螺丝,面试时候造火箭,现状就是如此。不管是背八股文,还是掌握了知识的精华,对答如流才是硬道理。本专栏就是要集具前端精华,规范、算法、架构、封装、原理等一并汇集,让前端的小伙伴有个思路。 大剑师的微信 gis-dajianshi, 欢迎一起交流,并非常期望您能够提…

Spring Cloud Alibaba Ribbon负载均衡器

文章目录 Ribbon 负载均衡器环境搭建1.依赖2.配置3.修改其默认的负载均衡策略3.1 验证 4.创建自定义的Rule4.1 MyRule()4.2 在配置config类中配置 5.饥饿加载6.我只想访问不想被别的访问 Ribbon 负载均衡器 背景 Ribbon 是一个用于客户端负载均衡的开源…

提高接口自动化测试效率:使用 JMESPath 实现断言和数据提取!

前言 做接口自动化,断言是比不可少的。如何快速巧妙的提取断言数据就成了关键,当然也可以提高用例的编写效率。笔者在工作中接触到了JMESPath,那到底该如何使用呢?带着疑惑一起往下看。 JMESPath是啥? JMESPath 是一…

ARM Soc内部总线

由于soc架构,把常用外设(控制器)集成到芯片内部,所以需要一种总线协调ARMcore与这些内部外设的通信,于是有了APB and AHB以及AXi这种片上总线。 同时要注意与常说的PC时代总线区分开: CPU总线(…

【PMP/软考】软件需求的三个主要层次:业务需求、用户需求和功能需求解释及实例解析

简述 当进行需求分析时,通常着重考虑三个主要层次:业务需求、用户需求和功能需求。业务需求关注项目与组织战略目标的一致性,用户需求明确最终用户的期望,而功能需求定义具体的系统功能和特性。这三个层次为项目管理和软件工程提…

工业蒸汽量预测(速通三)

工业蒸汽量预测(三) 特征优化1特征优化的方法1.1合成特征1.2特征的简单变换1.3用决策树创造新特征1.4特征组合 模型融合1模型优化1.1模型学习曲线1.2模型融合提升技术1.3预测结果融合策略1.4其他提升方法 特征优化 1特征优化的方法 可以通过合成特征、…

【LeetCode】力扣364.周赛题解

Halo,这里是Ppeua。平时主要更新C,数据结构算法,Linux与ROS…感兴趣就关注我bua! 1.最大二进制奇数 🍉题目: 🍉例子: 🍉 题解: 首先看题目,最大二进制奇数,在一个二…

MQ - 31 基础功能: 优先级队列的设计

文章目录 导图概述什么是优先级队列如何设计实现优先级队列业务实现优先级队列的效果内核支持优先级队列RabbitMQ 中优先级队列的实现总结导图 概述 当我们需要在业务中对消息设置优先级,让优先级高的消息能被优先消费,此时就需要用到消息队列中优先级队列的特性。 为了了解…

前后端分离vue简介

vue简介 vue是一个渐进式js框架,用于构建用户界面,其主要特点是易学易用、轻量、灵活和高效。Vue.js由前Google工程师尤雨溪( Evan You)在2014年创建,它的核心库只关注视图层,是一款非常优秀的MVVM框架&…

Azure AD混合部署,通过 Intune 管理设备,实现条件访问

一、设备同步到AAD上面 1、配置 AAD Connect 2、选择 3、下一步 4、配置本地 企业管理员 5、配置成功 二、通过 组策略把设备同步到 Intune 上面 1、创建一条组策略 2、设置 (1)计算机配置 → 管理模板 → Windows 组件 → MDM → 使用默认 Azure AD …

增强for循环和一般for循环的对比使用

文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。个人B站主页热爱技术的小郑 ,视频内容主要是对应文章的视频讲解形式。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘…

spring源码解析——IOC之自定义标签解析

概述 之前我们已经介绍了spring中默认标签的解析,解析来我们将分析自定义标签的解析,我们先回顾下自定义标签解析所使用的方法,如下图所示: 我们看到自定义标签的解析是通过BeanDefinitionParserDelegate.parseCustomElement(ele…

【赘婿国漫】从网络文学,到热播动漫,种马文属性或许是最大优点

Hello,小伙伴们,我是小郑继续为大家深度解析国漫资讯。 《赘婿》第一季结束以来,有关该剧的讨论就一直没有停止过。这部由网络小说改编而来的国漫,虽然收获了不俗的收视成绩,但也引发了许多争议。在原著作者的控制范围之外&#x…

智慧银行:数字化金融时代的引领者

在当今数字化的时代,金融行业正经历着一场前所未有的变革。传统的银行模式已经不再适用,取而代之的是智慧银行的新兴概念。智慧银行不仅仅是数字化的银行,更是一个全新的金融服务范式,将科技与金融相结合,为客户提供更…

技术干货 | JMeter实现参数化的4种方式

参数化释义 什么是参数化?从字面上去理解的话,就是事先准备好数据(广义上来说,可以是具体的数据值,也可以是数据生成规则),而非在脚本中写死,脚本执行时从准备好的数据中取值。 参数…

方法的重载

方法的重载 在同一个类中,定义了多个同名的方法,这些同名方法名具有同样的功能每个方法具有不同的参数类型或者参数个数,这些同名的方法就构成了重载关系。 简记:同一个类中,方法名相同,参数不同的方法。与…

编程每日一练(多语言实现):判断偶数

文章目录 一、实例描述二、技术要点三、代码实现3.1 C 语言实现3.2 Python 语言实现3.3 Java 语言实现 一、实例描述 利用单条件单分支选择语句判断输入的一个整数 是否是偶数。 运行程序,输入一个 整数18, 然后按回车键,将提示该数字是偶数…

第十四届蓝桥杯大赛软件赛决赛 C/C++ 大学 B 组 试题 B: 双子数

[蓝桥杯 2023 国 B] 双子数 试题 B: 双子数 【问题描述】 若一个正整数 x x x 可以被表示为 p 2 q 2 p^2 \times q^2 p2q2,其中 p p p、 q q q 为质数且 p ≠ q p \neq q pq,则 x x x 是 一个 “双子数”。请计算区间 [ 2333 , 233333333333…