华为开发者大会主题演讲:抖音短视频网络性能优化实践

内容来源:华为开发者大会2021 HMS Core 6 System技术论坛,主题演讲《抖音短视频网络性能优化实践》。

演讲嘉宾:卡涛,抖音Android架构师

大家好!我是来自字节跳动抖音体验团队的卡涛。我的分享主题是抖音短视频网络性能优化实践。接下来,我将介绍短视频应用的弱网瓶颈,以及集成HMS Core无线传输服务后的改变。

弱网:短视频应用的网络瓶颈

日活跃用户数量突破6亿的抖音,面对巨量的用户群体,迎来了巨大的网络体验挑战。播放视频卡顿、视频加载时间长、卡顿5秒以上,这些都是困扰我们的问题。抖音还有直播业务,其中的“推拉流”过程对带宽的要求非常高,网络不行会直接导致用户在直播抢购时“卡了”。针对这些问题,我们一般会进行局域网探测,查看带宽问题;诊断测试,判别哪条链路出现问题。

随着抖音业务范围的不断扩大,安卓端侧的业务需求也逐渐增多,面临许多网络困境——

  • 视频下载/上传:抖音的很多用户不仅会下载视频分享给他人,还会自主上传的高质量的视频,这对网络要求很高。
  • 动态化:抖音的电商业务发展蓬勃,其中的信息流广告会调用一部分动态化资源。
  • 插件化:除了短视频,抖音的直播、本地生活、社交等功能插件的终端体验尤为重要。
  • 离线化:在春节、购物节等时间节点举办大型活动时,抖音会上线很多玩法、游戏。这时要保证活动的即时性,比如春晚抢红包的场景需要提前下发,对带宽也有很高要求。
  • 直播:抖音的直播业务如火如荼,需要保证带宽足、时延低、弱网环境尽量流畅等条件。“推流” 情况下,上传的带宽足够即可;“拉流”则对观看直播的实时性、时延、带宽、弱网可用性都有非常高的要求。
  • API请求:抖音用户量级大,若要持续拉取用户信息和视频播放信息,就对带宽、时延、弱网和稳定性提出了挑战。

系统能力:网络优化的突破口

那么,抖音如何在应用侧提升网络体验呢?应用业务层网络可用性优化有动态码率、动态分辨率、业务降级等。比如视频可以在低网速下自动降低码率;用智能心跳能力探测网络的心跳间隔。

网络框架层可用性优化有数据包压缩、动态选路、DNS解析优化、复合请求、链接层优化、CDN加速、协议层优化、弱网切换。如果用户的网络环境比较差,我们会提示用户登录免费Wi-Fi;或是提示他们选择免流模式。针对流量敏感的用户,我们也会尽量让他在较高质量的网络下浏览A,不对资费造成很大影响。有些业务的实时性要求不高,但对抖音的前台流量影响很大,后台还会对这些业务进行CDN限速,从而保证前台的播放和直播体验。系统层网络可用性优化则体现为更准确的用户感知、更精准的预测、更强的三方管制、更精细的链接保护。

以上都是目前业界比较通用的网络优化方式。HMS Core无线传输服务中的系统网络增强能力,包括链路保护、带宽加强、场景预测、弱网可用、信号评估,基本做到全覆盖。

针对网络卡顿,经过测试发现根本原因是关键链路的加载导致的。应用侧的弱网诊断手段有限,无线传输服务提供了更强的弱网感知和识别能力,进而进行更精准的弱网预测。它可以帮助应用理解网络API链接的优先级,主动控制带宽的并发量,感知更多的网络状态切换、更全面的用户体验信息,提升用户体验。

最佳实践:抖音弱网优化的典型案例

弱网预测,可以在弱网来临之前让应用有所准备。无线传输服务接到通知后,可以在地铁、电梯、高铁等不同弱网场景采取不同的云控弱网措施。比如用户在弱网场景下观看点播或直播,可以智能预加载,调整推送码率,并进行流量管控,提前下载流量。

如果预估弱网环境持续时间不长,无线传输服务会进行弱网的行为指引,提示想要退出应用的用户“您的网络即将恢复,请耐心等待”。预感弱网环境变化后,它还会提前调整协议层参数。另外,针对一些对前台影响大、耗流量的业务场景,抖音也会考虑撤掉。但在网络质量好的情况下,这些业务场景对用户体验是有益的,我们一般会通过实验观察表现后决定去留。

卡顿透传,可以让系统精细化决策。用户在播放长视频时,如果后台请求超时,基本没有感知;在前台点播短视频时,如果看到十几秒卡住再播,体验就会变得非常差。造成这一现象的主要原因有瞬时无网、延迟波动、带宽受限等。如何解决呢?为了优先保证视频加载和流媒体,无线传输服务可以结合卡顿事件定制策略,在预估Wi-Fi信号、5G信号、基站信号后,定义网络通道优先级并增强带宽。

网络卡顿快速响应,让隐藏的卡顿不再成为体验瓶颈。之前,网络断连1-2秒,应用无法及时感知。但前台的点播或直播就会有5-6秒的卡顿。集成无线传输服务后,可以做到事件可预测、双向事件通知和时常评估。在可感知的前提下,保证无网条件不发送无效请求,有网之后立即请求,更好地服务于对实时性要求高的应用场景。

大数据量带宽扩容,让痛苦快速消失。随着用户视频质量的提升,抖音面临大幅度的带宽消耗以及应用流量需求。比如插件下载、大型活动离线化资源下载、动态化资源预加载、视频上传、直播推流、安装包下载。首先,抖音会进行应用级优化,通过流量调度,完成错峰下载,保证前台流量顺畅,同时在服务端限制CDN速度。集成无线传输服务后,Wi-Fi高优先级发包、双Wi-Fi功能、多网并发、带宽管控等功能持续优化。

总的来说,基于抖音用户的大体量,集成无线传输服务能力的表现很不错。我们还有很多和华为在功耗、显示、网络等方向的合作,希望有机会和大家再次分享,感谢!

了解更多详情>>

访问华为开发者联盟官网
获取开发指导文档
华为移动服务开源仓库地址:GitHubGitee

关注我们,第一时间了解 HMS Core 最新技术资讯~

你可能感兴趣的:(java)