字节电商双11 大促容量保障是如何做的?

前言

Rhino 简介

Rhino是字节自研全链路容量评估产品,致力于构建完整的全链路容量评估解决方案(覆盖:容量预估->资源准备->数据准备->容量验证->监控->分析->决策->处理反馈);围绕容量在稳定性、成本、效率 三方面提供业务全方位基础支撑。Rhino 目前已经成为字节各业务容量评估主流解决方案,并且历年来在业务大型活动稳定性保障中(抖音春节项目、电商618/双11大促等)均扮演了关键角色。

bba87d6c54e88d8673a102b6976651f9.png

Rhino 所解决的核心问题包括:

  • 如何降低字节各业务容量风险,内部变更、外部流量、活动、容灾、应急等场景容量风险?

  • 如何控制业务资源成本管控同时不拖累业务发展,尤其是例行抖音春节项目和电商业务大促活动?

  • 如何在资源有限情况下,保障业务持续运行,兼顾稳定性与成本?

容量评估产品体系

Rhino 发展历程

Rhino 是由之前全链路压测升级而来,自上线以来经历了3次大的产品变革,当前围绕容量评估进行容量保障生态体系建设。

4cfdf9527effe9dc25cf6de094ae57f3.png
Rhino 产品架构
ae12e30d295a893665ad1a8b99d37d9a.png

Rhino 整个产品体系是围绕容量验证和容量预估两个基础能力构建,协同为业务提供完整容量评估解决方案:

  • 以分布式压测为核心的容量验证,能够为业务提供高置信度评估支持;但随着各业务压测进入深水区,仿真度和安全性保障趋于完善,业务成本方面关注度更高;

  • 基于算法模型的容量预估,对于业务而言能够大幅降低容量评估成本,但缺点是置信度不如压测,这个也是我们要持续提升算法模型准确性的原因,没有置信度即使成本 0也没有价值。

其中,基于算法模型的容量预估自22年初开始开始在各头部业务和活动中实现规模化应用,容量模型基础能力建设是【Rhino】 、【电商服务架构】以及【基础架构各组件团队】深度合作完成的。

容量模型建设里程碑:

6cfe9046ded08329a827191e94200da6.png
Rhino 核心能力
  • 全链路容量评估自动化及多场景支持

    • 构建面向业务提供容量预估、资源准备、数据准备、容量验证、监控、分析、决策、处理、反馈完整容量评估流程;

    • 容量评估流程各环节交互高度自动化;

    • 提供多种场景容量评估支持,如大型活动、新服务上线、线上性能探测等 。

  • 超大流量、多场景施压引擎能力

    • 提供不同协议、多地区、数据类型、过亿 QPS 级别施压引擎支持 ;

    • 针对业务复杂场景,提供开放性支持,如灵活任务编排、流量调度、Plugin、云 IDE 支持等 。

  • 安全、可靠、准确容量评估支持

    • 提供多种协议的流量染色标记和不同泳道流量数据监控、追踪能力 ;

    • 构建完整的安全合规配套管控方案;

    • 多评估模型支持能力。

  • 定义容量评估标准,实现容量评估低成本、常态化

    • 容量评估配套基础能力横向打通,提供丰富数据构造、基础组件改造、容灾等基础能力支持 ;

    • 研发流程相结合,提供容量评估管控能力支持,实现容量评估同时覆盖左移、右移;

    • 容量评估标准化、流程化,如基础组件改造统一、数据构造标准化、业务评估模板定制化。

业务背景

活动背景及目标

基础信息:双11 历来都是电商业务年度重要的节点,技术侧整体目标对系统架构也一向有很高的要求。

活动策略

fde4b949b190dc8b800d9f593e19bba4.png

核心挑战

业务容量保障流程长

本次电商大促活动,Rhino 全链路容量保障方案从活动前、活动中、活动后三个活动时段,拆分 7 个阶段围绕:流量预估、压测、限流、资源、风险巡检等Topic 展开。

6f45c1bd4bf6bbf357524b4fba63a6c3.png
链路复杂、业务规模大

2023年双11 大促涉及链路覆盖上下游:上千个服务, 几十个子域场景 & 几百个核心接口全链路压测 & 入口千万级QPS发压。

  • 复杂场景下资源预估多组件覆盖技术挑战

    • 单一模型无法适用所有组件类型和业务场景,针对不用业务场景和组件需要构建不同模型;

    • 预估效果影响因素众多:除受算法模型影响之外,还跟不同类型组件设计架构、业务工程策略等因素有关。

  • 容量治理能力初次在电商活动中实践落地

    • 变化:由于双十一活动业务目标的提升,业务在容量治理方面提出了更高的要求;过去常态容量保障基础上增加了:核心服务极限容量探测、强弱依赖集群拆分验证、线上性能防劣化等容量治理诉求。

    • 挑战

      • 容量治理基建能力 —— 线上切流巡检,在稳定性、安全性上需要深度契合电商业务场景,不能引起线上切流资损或事故;

      • 容量治理在问题召回及问题分析方面,数据标准化缺失,需平衡对齐多方标准提升业务认可度。

容量保障方案介绍

活动前流量预估

流量预估架构
73b6dc567e681460a315cd9e46ec1695.png
详细说明

对业务所有接口进行逐个分析,将流量预估方案细化到单接口的维度上;在此过程中,我们主要考虑接口流量来源、接口流量的影响因素以及接口之间的关联性。接口流量预估主要可以分为两部分:

  • 大促基础流量:分为以下几种类型采用不同方式进行流量预估

    • 背景流量:流量不随大促活动变化,仅作为背景流量补充,因此可以直接取近期线上最高流量水位;

    • 模型预估接口:流量随电商直播间PCU、直播间进房量等业务指标变化而变化,而大促期间这2组指标数据量波动较大,这类接口受大促影响较大。我们对这类接口进行流量数据建模并沉淀出日常流量模型、大促流量模型作为后续流量预估基准;

    • 重保接口:业务方往往有强诉求,其流量目标比通用模型估出来的结果要高,对标历史大促的最高峰值流量,比如交易提下单、购物车、福袋抽奖等模块。

  • 高热直播间核心接口增量流量:这类接口容易受主播达人的口播内容、玩法策略影响产生尖刺流量,因此需要使用更精细的秒级数据进行建模。

流量预估模型
c81880fee160ec7119e70dd3d3faa8ba.png

活动前资源预估

目标

电商上下游依赖上千服务,人工估算难以准确推算整体资源部署情况;Rhino 资源预估能力借助拓扑流量估算、排队论等算法,自动化估算全链路资源缺口。

资源准备流程
0a924c742b4b513c3f3df773951b8aef.png
  • 业务目标明确: 在开始流量预估前,借助关注的往年及今年核心整体数据(例如 DAU、GMV、PCU),提供统一的参考基准;不同阶段会综合考虑多层面影响因素,例如:

    • 大促活动目标交易额预估:往届、本届大促成交量目标 GMV 及头部主播实时在线人数 PCU 变化等;

    • 子域链路目标流量预估:拆分至营销、直播间等子域链路目标流量;

    • 具体到接口流量的预估:业务逻辑、调用关系、流量增幅等。

  • 入口服务流量估算:业务目标及转化关系明确后,完成入口服务流量预估。

  • 资源预估入口导入: 流量预估完成后通过填写或导入的方式,开始活动资源预估

    • 参考历史时段:选择参考线上的 QPS、CPU 等指标日期,以及链路拓扑时间区间;

    • 预期 CPU 利用率:选择大促活动各组件目标资源水位;

    • 2e293e96000b95cf3bbc2444cfed5476.png

资源预估方案
d803c2edd34b7f697f31d7ba1ecedbd0.png
  • 业务冗余度注入:基础组件资源预估往往需要考虑更高维度指标(磁盘 IO、链接池、主从同步等);从业务评估灵活度考虑,流量冗余度参考计算的方式,能够弥补业务其他角度补充预估考虑。

  • 模型细分构建:综合各组件架构、部署特性、工程策略等因素进行容量模型建模,为各类基础组件提供资源预估数据,例如下面典型组件核心影响因素差异。


MySQL( RDS)RedisAbaseByteKVByteGraph...
系统架构Proxy - ServerProxy - ServerProxy - ServerProxy - ServerProxy - Cache - Server...
数据存储方式单机 + 分片存储分片存储分片存储分片存储分片存储...
部署方式物理机 + 同规格容器 + 不同规格容器同规格容器同规格容器同规格容器同规格容器 + 不同规格容器...
容灾方式主从容灾部署主从 + 分机房容灾部署主从 + 分机房容灾部署分布式部署分布式部署...
存储资源依赖磁盘磁盘磁盘磁盘依赖 ByteKV 存储...
资源申报方式CPU + 存储分离申报合并存储资源申报按分片量申报按分片量申报按分片量申报...
  • 读写流量分离:基础组件主从实例流量与读写流量存在特殊分布关系,例如 Redis 主从实例流量架构:

b2304a5aae51827f344177c5dd8b49b9.png

Rhino 预估方案聚焦此架构特点,在流量预估阶段按照部署架构分离读写流量至对应实例。

  • 存储资源预估:Rhino 预估方案从资源瓶颈和申报口径两个视角切入评估存储资源

    • 存储资源增长趋势预测:预测存储资源剩余使用天数,辅助业务评估存储瓶颈;

    • 资源申报汇总:结合计算资源、存储资源,汇总资源申报建议数据。

注:业务完成资源预估后,即可根据预估数据进行资源填报和进行资源交付,从而完成资源准备工作。

活动前容量治理

容灾链路性能摸底
  • 目标:为了活动保障电商核心链路稳定性,业务会通过‘重保集群’拆分对链路进行隔离,达到容灾目的;拆分集群的性能有一致性要求,在这个过程中我们需要辅助业务对容灾链路进行性能摸底。

  • 实现方案

72b9fbfbe09741af5c1e65705490502b.png
  • 任务&环境创建:自动化的构建泳道环境创建,支持集群间业务真实流量切流,低成本实现单pod性能压测。

  • 服务接入完成后,业务需要确立服务性能摸底目标并调试任务运行,以保障泳道切流能够成功运行并达成业务目标,主要工作包含:

    • 切流负载目标:评估服务性能摸底 CPU 负载目标;

    • 持续时间:泳道切流运行持续时间,及步长;

    • 熔断配置:保障线上流量安全性,进行错误率、时延等任务熔断配置。

  • 确立性能摸底目标后,即可开始泳道切流任务,通过服务端监控观测性能差异,从而判断性能基本状态。

限流治理
  • 背景

    • 电商大促活动中,流量增长往往超出限流配置预期,易出现限流误命中造成流量损失;

    • 电商大促容量验证期间,限流误命中会导致容量验证目标无法达成,影响验证效率。

    • 过往电商链路由于流量异常增长等情况未配置有效限流造成事故占比较高,所以电商业务针对全链路服务进行通用限流建设,限流覆盖率达到 80%+;

    • 限流覆盖率增高,误限流导致的问题同样增多,影响场景如下:

  • 限流前置治理目的

    • 通过前置限流治理,提前暴露风险,并提高整体容量评估效率;

    • 为保护系统热点状态稳定性,针对业务核心接口进行限流全覆盖及L0&L1 核心链路覆盖;

    • 为保护基础组件稳定性,针对热点直播间、热点商品进行独立限流,并通过子域压测检验可用性。

  • 限流治理类型和方案

0b97f07ab296f5a7584666c68b876024.jpeg8b18f7bf95b10d6cba2a592761d3bbe8.jpeg

  • 限流风险排查

    • 结合Rhino 限流瓶颈预估组件,定期全链路扫描潜在限流风险;

    • 组织业务侧限流风险review,检验限流设置合理性,并在活动保障中取得正向价值;

    • 同时,针对异常报警数据建立了自动化追踪机制,持续协助业务侧高效排查风险案例。

活动前全链路压测

业务全链路压测实施要点

整体来讲,电商业务全链路压测包括2个阶段:子域压测、C端全链路压测。

  • 子域压测意义

8e2e25d098e7d2b15e8a37560a4b7818.png

全链路压测之前需要各个业务模块提前进行子域压测,重要性如下:

  • 流程效率:

    • 大促机器资源到位时间较晚,等全部资源到位之后再开始压测时间会来不及,因此可以在部分机器资源到位之后就开始做子域压测,先把子域容量压到预期;

    • 全链路压测的定位是整体容量验收,原则上需要各个子域确保自己没有容量问题了才能参加。避免全链路压测的时候因为某个子模块容量问题而反复回归与验证。

  • 压测仿真度:全链路压测无法保证100%仿真,流入到某些子域的流量可能不及预期,需要在子域压测中覆盖。

  • 覆盖场景:

    • B端场景覆盖:B端目前没有全链路压测,只能依靠子域压测来覆盖;

    • 极端场景覆盖:某些极端场景(比如秒杀场景、热点直播间场景等)在子域压测中覆盖,全链路压测更多的起到端到端容量评估和验收的作用;

    • 横向玩法场景覆盖:某些横向玩法和C端核心接口的链路耦合性不强,适合通过子域压测单独覆盖。

  • C 端全链路压测

3cd720d985df5441255e23e6a3888c5c.png

C端全链路压测定位是端到端容量评估和验收,因此在子域压测完成之后进行。

全链路压测技术支撑
  • Rhino 经过多年来字节各大活动容量保障支持,沉淀打磨下完整稳定容量验证平台化能力,自2022年以来验证环节中具体步骤不再需要 Rhino 过多介入;故为了保证全链路容量验证预期目标,Rhino 与业务方分工:

    • 业务侧:主导容量验证各环节,包含:链路梳理、数据构造、任务创建、调试、执行等;

    • Rhino:架构师角色参与关键方案评审,主要评估、协调验证环节风险点。

  • 容量验证方案

87ecc02f968835b1c277e56c339ec40b.png
  • 前置准备支持: 辅助服务改造、场景梳理、数据准备以及相关知识培训,为正式开展容量验证做准备

    • 服务改造:包括存储改造、登录鉴权改造、时间穿梭改造;

    • 场景梳理:梳理接口逻辑、调用下游情况、不同参数不同链路情况;

    • 数据模型构造:包括那些参数需要替换、替换方式确定、铺底数据如何构造。

  • 资源、上下游风险评估:保障容量验证流程、目标顺利完成,及上下游依赖方系统安全性:

    • 业务验证规模报备:峰值 QPS、使用场景、预期发压引擎资源、Mock 量级、改写数据量级等;

    • 发压引擎资源预估、部署(优化中):通过发压引擎模型,预估预期使用资源量;

    • 上下游风险评估:评估录制、改写、Mock、压测服务账号等上下游风险点,并同步依赖方。

  • 平台基建保障: 提供平台稳定性保障,保证活动顺利进行。

  • 全链路压测执行: 目前业界对全链路压测的实施成熟方案已经很多,并且在我们过去的技术文章中有过介绍(https://mp.weixin.qq.com/s/vofrpFGvnptj3MNAv1hQ-w),本文不再赘述。

活动中容量巡检

业务自建链路巡检
  • 电商系统庞大复杂,这么多指标,哪些才是重点?业务会构建自己的系统监控大盘。

    • 呈现核心业务指标、核心链路及关键系统指标、机房网络、基础组件监控;

    • 其中核心业务指标以L0链路为主体,汇总SRE及各域稳定性同学共同决策出电商及各域结果指标,作为大促时最关注的指标之一;

    • 同时监控与告警联动,当有指标异常时,会出现红色提示标识,并出现告警信息弹窗,以快速发现问题。

269de043e83bbfac627246d998a659ee.png
  • 只看重点还不够,如何看全、看细?子域监控大盘。

    • 提供子域监控能力,用于构建子域业务及系统链路,双十一前完成各个子域大屏接入;

    • 类似,子域大屏与告警打通,如有异常会进行染色及标注提示,辅助业务快速发现子域内的问题;

    • 同时与业务之前自建的Grafana等大盘结合互补,从电商整体的角度,看全看细。

基于模型多组件容量巡检
  • 电商大促活动依赖的下游上千个,根据核心链路的强弱梳理,电商强依赖组件有十几种类型、几百个部署集群,且容量评估维度较多,依赖人工评估+巡检耗时巨大,容易遗漏。那么如何进行容量保障?引入自动化巡检提升效率和精准度。

  • 由以下几个步骤来分阶段实现自动化:

d4a3cc4bfb11f819e8b6acd349159ac8.png

当前Rhino 提供的容量预估与巡检覆盖了主流在线计算相关组件,覆盖电商96%+核心链路服务,风险拦截准确率达到 90%以上。

活动后缩容

整体来讲,活动结束后会进行:容量调整和缩容验证。

6b02df09e2030320a522ccaf4661303e.png
容量调整
  • 容量建议:容量调整的输入,是基于活动前预估数据进行操作,通常无需重新计算;

  • 容量调整:需要进行计算资源和相关配置等项的恢复。

缩容验证
  • 目的

完成活动资源回收目标后,从电商链路稳定性角度考虑,需要进行一轮电商全链路压测进行验证,确保缩容后服务稳定性。

  • 基于调度的自动化验证方案

c32c65e6ab5d925d986e947c5375b361.png

本次电商双11 活动中,基于调度的全链路自动化压测方案投入使用,主要优势如下:

  • 通过生产流量的调度,使得流量仿真度及下游服务触达率可以得到更有效保障,最终取得效果:压测仿真度100%;

  • 切流操作步骤和压测执行过程中监控、分析等核心环节实现了高度自动化,异常检测分析和止损效率有可靠保障,最大限度的降低了整个压测活动的实施成本。

总结与展望

自2022年初以来,Rhino 成功完成了从压测 到容量产品转型,围绕业务全流程容量保障构建了基础能力支撑体系;这个期间,非常感谢公司内所有合作团队,尤其是基础架构各兄弟团队、中台团队对Rhino 的支撑,没有他们的支撑,整个容量评估体系难以完成的。

未来计划

  • 多模态容量模型持续探索

    • 继续围绕业务场景,构建基于:成本 - 流量 - 容量 模型分析能力,以及结合容量验证客观数据反馈,不断提升数据质量;

    • 同时推进模型精细化训练,例如:集群、接口、时间、单指标等维度模型训练粒度。

    • 持续探索基于模型容量评估解决方案(排队论、深度学习、LLM等),不断推进组件类型和业务场景低成本覆盖;

    • 容量模型预测、分析准确率持续提升:

  • 面向业务完整容量解决方案SOP 构建

    • 继续提高全链路容量评估流程完整度,实现:容量评估、决策、处理、反馈闭环能力建设,面向业务构建全流程容量保障SOP;

    • 细分业务场景SOP建设,例如容量基础能力在业务容量成本优化过程中提供系统解决方案。

  • 常态化容量评估能力建设

    • 常态运维能力建设:极致弹性运维、应急/自愈等核心能力强化;

    • 全链路容量评估常态化运行,实现服务形态全新升级。

招聘广告

Rhino 属于字节跳动架构体系下QE 团队,致力于建设字节跳动完整全链路容量评估生态体系和标准,提供覆盖容量预估、容量分析、容量验证、容量治理及容量运维等完整容量保障解决方案,以及低成本、安全、准确的容量评估支持,覆盖场景包括大型活动、技术升级验证、常态化容量评估等。

  1. 打造字节跳动全链路容量评估体系,负责平台架构设计和研发工作,持续保证系统高可用,为亿级DAU产品提供技术支撑;

  2. 持续优化容量模型,优化全链路容量评估活动实施成本,为业务方降本增效赋能;

  3. 研究软件工程学术前沿,并结合业务场景进行探索落地,引领公司和业界技术潮流。

职位要求:

  1. 本科及以上学历,计算机、软件工程及相关专业;

  2. 热爱计算机科学和互联网技术,精通 Go/Python/Java/C++ 等至少一门编程语言,有良好的编码能力和风格;

  3. 熟悉Linux,对容器化、云原生架构、网络协议、文件系统等相关领域有一定了解;

  4. 良好的后端架构设计能力,具备分布式、高并发开发经验;

  5. 对问题有清晰分析和全局思维,能提出具有创造性的解决思路和方案;责任心强,有良好的对外沟通和团队协作能力;

  6. 具有全链路压测、机器学习、存储组件研发经验者优先。

目前团队【后端开发工程师】和【算法工程师】紧缺,非常期待感兴趣的同学加入。

  • 微信联系:duguxiaolong11;

  • 简历投递邮箱:gaoyujun@bytedance.com(邮件标题:姓名 - 工作年限 - Rhino )。

  • 帮转【前端工程师】招聘:https://zjsms.com/i8jXQcAM/

相关推荐

2024 抖音欢笑中国年(五):Wasm、WebGL 在互动技术中的创新应用

前言随着 Web 前端技术的不断发展,越来越多的新兴技术方案被引入到 Web 开发中,其中 Wasm 和 WebGL 作为前端领域的两大利器,为开发者带来了更多的可能性。本文将结合2024 年抖音欢笑中国年的部分项目,重点介绍如何利用 Wasm 和 WebGL 对目前流行的一些前端互动技术(比如 Lottie、渲染引擎、动画图片等)进行创新和实践,利用 Wasm 和 WebGL 等新技术方案的特性...

字节跳动技术团队官方博客 2万+

2024 抖音欢笑中国年(四):渲染技术实践与探索

作者:陈瑞、欧阳浩铸、王武俊、倪梵云前言抖音在2024年春节期间推出了欢笑中国年系列活动,为用户带来了全新的体验和乐趣。而SAR Creator则为该项目研发工作提供了重要的技术支持。SAR Creator是一款基于 Typescript 的高性能、轻量化的互动解决方案,目前支持了浏览器和跨端框架平台,服务于字节内部的各种互动业务。这些绚烂多彩的互动场景当然也离不开实时渲染技术的支持,因此本文将专...

字节跳动技术团队官方博客 2万+

2024 抖音欢笑中国年(三):编辑器技巧与实践

前言本次春节活动中,我们大部分场景使用内部的 SAR Creator互动方案来实现。SAR Creator 是一款基于 TypeScript 的高性能、轻量化的互动解决方案,目前支持了Web和字节内部跨端框架平台,服务于字节内部的各种互动业务,包括但不限于抖音春节、抖音直播礼物、抖音UG活动等。SAR Creator 编辑器支持了图形化界面,提供了各类完善的系统(光照、动画、脚本等)供用户快速便捷...

字节跳动技术团队官方博客 1万+

2024 抖音欢笑中国年(二):AnnieX互动容器创新玩法解析

本文基于24年抖音春节活动业务背景,介绍了字节跨端容器AnnieX在游戏互动套件上的探索,致力于提升容器在游戏互动场景的优化能力。业务背景AnnieX作为字节一方游戏统一容器,服务字节内部电商、直播、UG等跨端场景业务。在字节一方游戏互动场景,有大量的一方游戏业务对容器有特定的流量、端能力和游戏优化的诉求。因此我们不断深入互动游戏业务特点,为字节游戏提供完善游戏端能力和流量运营能力,同时提供游戏互...

字节跳动技术团队官方博客 1万+

2024 抖音欢笑中国年(一):招财神龙互动技术揭秘

字节跳动旗下的抖音等 App 在 2024 年春节期间推出了欢笑中国年系列活动,在实现增长业务目标的同时,为用户带来了全新的体验和乐趣。「招财神龙」是其中的一个重要玩法。前言本次春节活动,使用到了字节内的主要前端、跨端、互动技术产品。主要涉及:跨端框架提供了首屏直出的方案使其具有较短的首屏时间,能够大大提升业务加载成功率。跨端框架也提供了 Canvas 作为 SAR Creator 等渲染引擎的...

字节跳动技术团队官方博客 1万+

Monorepo 解决方案 — 基于 Bazel 的 Xcode 性能优化实践

背景介绍书接上回《Monorepo 解决方案 — Bazel 在头条 iOS 的实践》,在头条工程切换至 Bazel 构建系统后,为了支持用户使用 Xcode 开发的习惯,我们使用了开源项目 Tulsi 作为生成工具,用于将 Bazel 工程转换为 Xcode 工程。但是在使用的过程中,我们发现了一些问题,其中影响较大的是,Xcode 工程卡顿:对于头条这种大型项目来说,Xcode 卡顿一直是本地...

字节跳动技术团队官方博客 1万+

抖音 ANR 自动归因平台建设实践

背景介绍本文在 2024 年初最新一期『抖音客户端基础技术大揭秘』技术沙龙活动中已做过专题分享,本次将内容重新整理文章进行分享。公众号后台回复技术沙龙可查看沙龙回放及 PPT~抖音作为一个超大型的应用,我们在 ANR 问题治理上面临着很大的挑战。首先对于存量问题的优化,由于缺少有效的归因手段,一些长期的疑难问题一直难以突破解决,例如长期位于 Top 1 的 nativePollOnce 问题。同时...

字节跳动技术团队官方博客 2万+

CVPR 2024 | CAMixerSR 动态注意力分配的超分辨率加速框架

背景随着相关技术和应用的发展,比如超高清屏幕、虚拟现实(VR)等沉浸式体验的增加,用户对超高分辨率图像和视频的需求变得越来越强烈。在这些场景中,图像的质量和清晰度对于提供最佳的用户体验至关重要。超高分辨率不仅能提供更清晰、更真实的视觉效果,还能在一定程度上增强人们的互动和沉浸感,在一些VR场景中我们需要8K甚至16K的才可以满足需求。然而要生成或者处理这些超高分辨率的内容,对算力的要求也是与日增长...

字节跳动技术团队官方博客 1万+

CVPR 2024 | Modular Blind Video Quality Assessment:模块化无参视频质量评估

无参视频质量评估 (Blind Video Quality Assessment,BVQA) 在评估和改善各种视频平台并服务用户的观看体验方面发挥着关键作用。当前基于深度学习的模型主要以下采样/局部块采样的形式分析视频内容,而忽视了实际空域分辨率和时域帧率对视频质量的影响,随着高分辨率和高帧率视频投稿逐渐普及,特别是跨分辨率/帧率视频转码档位画质评估场景中,这种影响变得更加不可忽视。在本文中,我们...

字节跳动技术团队官方博客 1万+

2024 AI & 前端:回首展望,光芒未至,破晓之前!

前言回望 2023 年,ChatGPT 的突然爆火,让 AI 无疑成为最为值得注目的新兴领域之一,我们也一起见证了生成式 AI 的寒武纪大爆发。这一年来,国内外的生成式 AI 、大模型和相关产品以令人眼花缭乱的速度更新迭代,新的创业浪潮风起云涌。在这 AI 浪潮下,也让我们有了新的开发思考,探索着在各个环节中“前端 & AI”的应用场景。勇于探索的前端开发者们已经开始挥舞着 AI 的“魔法...

字节跳动技术团队官方博客 1万+

Kotlin 云端差分缓存技术

本文由字节跳动 Buildinfra 团队出品。在我们的工程上线 Monorepo 全源码后,Kotlin 编译成了整个编译中最耗时的步骤,全源码过程中大量的 BuildCache Miss 导致我们的编译数据落后原来多仓二进制时代很多,且业界没有相关的解决方案。本篇文章我们来具体阐述下 BuildInfra 团队自研的解决方案 - Kotlin 云端差分方案的原理和技术实现。一、Monorepo...

字节跳动技术团队官方博客 1万+

字节跳动基础架构SRE-Copilot获得2023 CCF国际AIOps挑战赛冠军

近日,2023 CCF国际AIOps挑战赛决赛暨“大模型时代的AIOps”研讨会在北京成功举办,活动吸引了来自互联网、运营商、科研院所、高校、软硬件厂商等领域多名专家学者参与,为智能运维的前沿学术研究、落地生产实践打开了新思路。决赛中,从初赛两百多支队伍中脱颖而出的十支入围队伍分别展示了各自的方案,并进行了现场答辩,评审专家从选题方向、创新性、实用性、完整度和实验复现结果等多角度进行了综合评定,最...

字节跳动技术团队官方博客 2万+

字节跳动百万级Metrics Agent性能优化的探索与实践

背景metricserver2 (以下简称Agent)是与字节内场时序数据库 ByteTSD 配套使用的用户指标打点 Agent,用于在物理机粒度收集用户的指标打点数据,在字节内几乎所有的服务节点上均有部署集成,装机量达到百万以上。此外Agent需要负责打点数据的解析、聚合、压缩、协议转换和发送,属于CPU和Mem密集的服务。两者结合,使得Agent在监控全链路服务成本中占比达到70%以上,对Ag...

字节跳动技术团队官方博客 1万+

西瓜视频RenderThread引起的闪退问题攻坚历程

背景影响西瓜之前存在过一类RenderThread闪退,从堆栈上看,全部都是系统so调用,给人的第一印象像是一个系统bug,无从下手。闪退集中在Android 5~6上,表现为打开直播间立即闪退。该问题在2022年占据Native Crash Top5,2023年更是上升到到Top1。因此有必要投入时间和精力再重新审视一下这个问题。在历经多周的源码分析和排查后,逐步明确了问题根因并修复,最终取得了...

字节跳动技术团队官方博客 2万+

使用火山引擎 APMPlus 解决抖音Top 1 Java 崩溃的通用优化方案

背景近3个月,抖音 Android 版面临一个多次触发线上报警的崩溃问题,全量版本和灰度版本的异常数据激增,该问题不仅容易触发报警,更成为了 Java Top 1 崩溃问题,带来巨大困扰,急需攻坚解决。本文展现了具体的分析过程、优化思路和解决方案,同时提供了已集成该方案的实用工具。初步分析多维特征我们以某发版期间数据为例进行分析:机型方面:比较分散,有聚集部分samsung sm-s9180 占比...

字节跳动技术团队官方博客 1万+

用 Addon 增强 Node.js 和 Electron 应用的原生能力

前言Node.js Addon 是 Node.js 中为 JavaScript 环境提供 C/C++ 交互能力的机制。其形态十分类似 Java 的 JNI,都是通过提供一套 C/C++ SDK,用于在 C/C++ 中创建函数方法、进行数据转换,以便 JavaScript / Java 等语言进行调用。这样编写的代码通常叫做 Bindings。此外还有基于 C ABI Calling Convent...

字节跳动技术团队官方博客 2万+

火山引擎 ByteHouse 的增强型数据导入技术实践

作为企业数字化建设的必备要素,易用的数据引擎能帮助企业提升数据使用效率,更好提升数据应用价值,夯实数字化建设基础。数据导入是衡量OLAP引擎性能及易用性的重要标准之一,高效的数据导入能力能够加速数据实时处理和分析的效率。作为一款OLAP引擎,火山引擎云原生数据仓库ByteHouse源于开源ClickHouse,在字节跳动多年打磨下,提供更丰富的能力和更强性能,能为用户带来极速分析体验,支撑实时数据...

字节跳动技术团队官方博客 1万+

打造企业级智能问答系统的秘密:如何使用云数据库 PostgreSQL 版实现向量检索

本文就如何利用火山引擎云数据库 PostgreSQL 版和大语言模型技术(Large Language Model,简称 LLM),实现企业级智能交互式问答系统进行介绍。通过本文,你将会了解交互式问答系统的原理,学习 PostgreSQL 的向量化存储和检索技术,以及大语言模型交互技术等。背景在大数据的浪潮下,众多企业建立了自己的知识库,以便于信息检索和知识查询。然而,随着知识库内容的膨胀,传统的...

字节跳动技术团队官方博客 2万+

抖音大型直播的画质优化实践

面临挑战随着抖音内容生态的不断丰富,越来越多的大型赛事在抖音平台进行直播,世界杯/春晚/亚运会等各项赛事节目引来大量用户观看。卡塔尔世界杯期间,抖音提供的稳定高质直播画面为观众带来了完美的观赛体验,决赛的 PCU 高达 3700W+。不同赛事节目涉及链路众多,且不同赛事之间存在差异,如何保障各链路的画质稳定并进一步提升画质,是一个巨大的挑战。如何应对挑战?画质优化链路大型赛事直播涉及链路较长,不同...

字节跳动技术团队官方博客 2万+

抖音直播新一代BVC编码器正式亮相

面临挑战在直播行业发展如火如荼的今天,用户对视频体验的要求也水涨船高。视频基础体验的关键要素包括清晰度、流畅度、低延迟等,而这些要素的“第一性原理”,就是视频本身的编码效率,也就是压缩率。视频编码是整个技术体系的基座,编码效率的显著提升,能够在同等码率下极大提高画质,从而改善用户体验。视频编码效率的重要性不言而喻,但进一步地提升也并非易事,尤其在直播场景中,对编码速度、延迟、码率控制等方面都有很高...

字节跳动技术团队官方博客 7322

Go Metrics SDK Tag 校验性能优化实践

背景Metrics SDK 是与字节内场时序数据库 ByteTSD 配套的用户指标打点 SDK,在字节内数十万服务中集成,应用广泛,因此 SDK 的性能优化是个重要和持续性的话题。本文主要以 Go Metrics SDK 为例,讲述对打点 API 的 hot-path 优化的实践。用户在使用 SDK API 进行打点时,需要传入指标对应的 Tag:tags:=[]m.T{{Name:"foo...

字节跳动技术团队官方博客 1万+

云上智能驾驶三维重建最佳实践

智能驾驶技术的不断发展,正在改变着我们的出行方式和交通系统。作为其中的一个关键技术,三维重建在智能驾驶系统中起着重要的作用。除去车端本身的感知、重建算法,自动驾驶技术的落地与发展需要庞大的云端重建能力支撑,火山引擎多媒体实验室通过行业领先的自研三维重建技术,结合强大的云平台资源与能力,助力相关技术在云端大规模重建、自动标注、真实感仿真等场景的落地与应用。本文重点介绍火山引擎多媒体实验室三维重建技术...

字节跳动技术团队官方博客 6289

火山引擎实时、低延时拥塞控制算法的优化实践

摘要火山引擎智能拥塞控制算法 VICC(Volcano Intelligent Congestion Control)是一种自适应的拥塞控制算法,旨在解决全球不同网络环境下,不同音视频应用对带宽利用率和延时的差异化要求。它结合了传统拥塞控制算法(如 GCC 和 BBR)的优点,并且能够根据不同的网络条件、业务偏好和码率特征进行自适应调整,包括自适应拥塞响应速度、自适应带宽探测幅度、自适应丢包检测策...

字节跳动技术团队官方博客 6708

veImageX 演进之路:Web 图片加载提速50%

背景说明火山引擎veImageX演进之路主要介绍了veImageX在字节内部从2012年随着字节成长过程中逐步演进的过程,演进中包括V1、V2、V3版本并最终面向行业输出;整个演进过程中包括服务端、客户端、网络库、业务场景与优化等多个角度介绍在图像处理压缩、省成本与体验优化的经验与方案;本篇文章重点介绍在web端演进和提供的能力,图片是 Web 站点中的重要元素,图片体积、格式、分辨率以及渲染方式...

字节跳动技术团队官方博客 6564

自研多模态追踪算法 PICO 为「手柄小型化」找到新思路

作者:张韬、林泽一 、闻超 、赵洋研发背景作为头戴的追踪配件,VR手柄可以通过HMD(头戴显示设备)的inside-out光学追踪定位原理,计算出手柄的空间运动轨迹,同时结合6轴传感器实现6DoF空间定位。与此同时,结合手柄控制器的物理按键、马达反馈、摇杆等,用户还能获得逼真、细腻的触觉反馈,进一步增强虚拟现实人机交互的能力以及沉浸感,这也是目前无手柄方案所难以实现的。目前主流VR手柄的追踪技术方...

字节跳动技术团队官方博客 7692

如何利用播放器节省20%点播成本

点播成本节省的点其实涉及诸多部分,例如:CDN、转码、存储等,而利用播放器降本却是很多客户比较陌生的部分。火山引擎基于内部支撑抖音集团相关业务的实践,播放器恰恰是成本优化中最重要和最为依赖的部分。火山引擎的视频团队做了份数据统计,在一个很经典的视频业务中,我们在2022年至2023年大约1年半的时间里,针对这个业务进行了33次成本优化点,其中13次是播放器主导的优化,其余的有12次也是需要播放器强...

字节跳动技术团队官方博客 6158

火山引擎 ByteHouse:ClickHouse 如何保证海量数据一致性

背景ClickHouse是一个开源的OLAP引擎,不仅被全球开发者广泛使用,在字节各个应用场景中也可以看到它的身影。基于高性能、分布式特点,ClickHouse可以满足大规模数据的分析和查询需求,因此字节研发团队以开源ClickHouse为基础,推出火山引擎云原生数据仓库ByteHouse。在日常工作中,研发人员经常会遇到业务链路过长,导致流程稳定性和数据一致性难保障的问题,这在分布式、跨服务的场...

字节跳动技术团队官方博客 6882

抖音集团都在用的画质评估工具,确定不试试吗?

导读本文从抖音集团内部画质评估体系的建设历程着笔,主要分享了画质评测对于业务的重要性、主要应用场景和内部产品的一些典型实践案例。通过分享业务视角遇到的一些问题和我们的解决思路,希望能抛砖引玉,为遇到类似困扰的伙伴们提供有价值的参考。画质评估体系建设历程为何评测画质如此重要?我们通过线上业务大量实验发现,图片画质优劣对点击率、 停留时长等消费类指标有正相关影响,间接影响用户收益指标。因此,建设一套行...

字节跳动技术团队官方博客 7900

VLDB 2023 | CDSBen: 字节跳动 veDB 数据库存储系统性能测试模型

背景随着业务爆炸式增长与云原生技术的日渐成熟,大量云原生分布式数据库产品如雨后春笋般涌现,其中一部分主打 OLTP 场景的分布式数据库强调的是从计算-存储分离架构获得弹性收益;对于业界各种计算-存储分离架构的数据库而言,怎么用真实的端到端数据库 workload 去 benchmark 其底层存储系统一直存在以下难题:对于数据库专用存储系统,不存在如 fio 一样的“事实标准” benchmark...

字节跳动技术团队官方博客 5882

Interspeech 2023 | 火山引擎流媒体音频技术之语音增强和AI音频编码

背景介绍为了应对处理各类复杂音视频通信场景,如多设备、多人、多噪音场景,流媒体通信技术渐渐成为人们生活中不可或缺的技术。为达到更好的主观体验,使用户听得清、听得真,流媒体音频技术方案融合了传统机器学习和基于AI的语音增强方案,利用深度神经网络技术方案,在语音降噪、回声消除、干扰人声消除和音频编解码等方向,为实时通信中的音频质量保驾护航。作为语音信号处理研究领域的旗舰国际会议,Interspeech...

字节跳动技术团队官方博客 6166
上一篇: 使用火山引擎 APMPlus 解决抖音Top 1 Java 崩溃的通用优化方案
下一篇: 西瓜视频RenderThread引起的闪退问题攻坚历程
 字节跳动技术团队
字节跳动技术团队 企业官方账号 企业官方账号
博客等级 码龄7年 8122粉丝 316原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值