6

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

 2 years ago
source link: https://segmentfault.com/a/1190000040951193
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

内容来源:华为开发者大会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 最新技术资讯~


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK