当前位置:网站首页>移动应用出海,你的“网络优化”拖后腿了吗?
移动应用出海,你的“网络优化”拖后腿了吗?
2022-08-03 15:47:00 【网易云信】
据《2022 年移动应用出海趋势洞察白皮书》数据显示,2021 年国内独立设备使用数较 2020 年同期增速显著放缓。同时,通讯聊天、视频服务、社交网络等娱乐社交 TOP3 App 渗透率进一步提升,甚至通讯聊天已经趋于饱和状态。
可见,国内泛娱乐社交移动获客已经进入存量竞争时代。
反观东南亚市场,无论是出海政策支持,还是海外人口红利、移动应用增速以及互联网渗透率方面都处于快速增长阶段,出海已经成为中国企业寻找新增长机会的一种趋势。
网络延迟,出海体验之痛
移动互联网发展到今天,已经完全超出了人们早期对它的预想范畴,从娱乐社交、商业会议、金融支付、居家出行等等,几乎覆盖了我们生活的方方面面,而这也让许多人“患”上了网络依赖症,以至于移动应用体验中的卡顿、延迟成为了影响用户留存的核心指标之一。
以东南亚地区为例,作为我国娱乐社交应用出海的核心区域,网易云信在经过本地区多轮调研与分析。总体而言,移动网络水平相比于国内偏低,具体来说体现在网络丢包率、延迟、带宽特征等方面。
从丢包率来看,国内用户入口 0 丢包率可以达到 96% 左右,而东南亚平均的 0 丢包率只能达到 93% 左右;国内用户出口 0 丢包率约在 97%,而东南亚约在 95%。
延迟方面,东南亚地区低于 50ms 延迟的占比平均约为 55%,其中马来西亚和泰国表现最好,大概将近 80%。印度孟加拉最差,约为 40%。低于 100ms 延迟的平均占比约为 82% 左右,其中马来西亚和越南表现最好,接近 94% 左右,最差的为印度和孟加拉,低于 76%。
带宽方面,以孟加拉国为例,其整体网络仅有 90% 左右属于比较好的网络(大于 1.5M 的可用带宽),剩下的 10%,属于弱网,典型的高丢包率以及高受限率的网络。
由此可见,相比于国内较为统一且提速增宽的移动网络环境,海外的网络环境并不乐观,而开发者在专注于自身产品开发的时候,出海需要面临各式各样的网路环境问题,从而减少由于网络延迟等带来的用户体验差,留存时间短的问题。
实践经验,保驾中企出海
对于娱乐社交应用中如直播、语聊房、在线 KTV 场景,在东南亚弱网下的音视频表现,大多为音视频卡顿、视频模糊、延迟增大等问题。
其中,视频卡顿是泛娱乐社交主流场景中影响用户体验最为常见的问题,而在视频直播场景中用户会更关注视频的清晰度,另外在互动直播中为了保障互动的实时性前提下,流畅性往往会被选择性地牺牲。
所以,针对弱网场景的视频优化,越来越成为娱乐社交应用出海首要解决的问题。
基于网易云信服务多个海外客户的实践经验,特别是针对弱化网环境下的优化与提升,对部分实践案例进行分享,以供已经出海及计划出海的开发者参考。
# 带宽受限 #
影响因素:可用编码码率被压缩
带宽受限限制了源端可用码率,如果有丢包,重传和 FEC 码率也会进一步挤压可用编码码率。可用编码码率受限后编码 QP 变差,因为视频质量调节模块配置为清晰优先策略优先降帧率,最终表现为发送帧率降低导致卡顿。
实践经验
设计精细化的冗余调节策略,在带宽受限和非受限时需要有差异化的策略,在带宽受限时适当控制重传和 FEC 码率,尤其是 FEC 码率,释放更多的码率资源给原始编码,提升有效帧率。
影响因素:超编带来的连锁反应
屏幕共享或者游戏等复杂的用户场景对编码器码控带来了很大挑战,而这些场景往往又是清晰度优先不会轻易降低分辨率,一旦碰到低带宽时,编码器的码率往往无法控制在带宽值以下,在受限场景的持续超编会带来一系列的恶性连锁反应,比如超编会导致数据超发到网络,网络带宽受限会加剧数据丢包和抖动,数据丢包又会进一步增加冗余码率加剧网络拥塞程度,如此恶性循环,用户体验基本是卡顿和大延时的状态。
在这种情况下,需要全链路包含编码、视频质量调节模块、网络冗余码率等模块综合优化,对于网络模块降低冗余码率可以缓解超发。
实践经验
在检测到超编同时带宽受限时,去掉 FEC 码率,适当限制重传码率,控制I帧响应间隔。减少编码及发送对带宽的使用。
# 带宽突变 #
影响因素:带宽突降带来的连锁反应
在变化的带宽场景下,网络的吞吐流量会存在较大波动,在带宽突降时,带宽估计算法下降存在一定滞后性,比如跳过一些拥塞信号、反馈码率取最大值等处理,导致网络链路存在一定堆积的可能;此外,带宽估计决策出的可用码率生效时间存在一定滞后性导致平滑发送缓冲堆积,增加了发送帧级抖动,而编码器又是秒级码控,如果又伴随丢包,各种冗余码率的增加很难控制在总带宽以下,很容易导致平滑发送缓冲堆积。
还有,触发编码前跳帧,帧率的下降会进一步加剧发送抖动变大,导致接收端卡顿。
实践经验
在检测到带宽突降时,去掉 P 帧的 FEC 冗余,I 帧 FEC 冗余降低为原来的 1/2,从而缓解平滑发送缓冲的堆积延,加快网络拥塞缓解收敛;另外,在检测到平滑发送缓冲队列堆积超过 1 秒时,触发清缓冲策略,以缓解平滑发送缓冲的堆积延,加快拥塞收敛。
# 高丢包&高延迟 #
影响因素:带宽估计失真
基于延迟梯度变化的拥塞控制算法没有检测出带宽的过度使用,导致带宽估计过于乐观,没有根据实际 rtt 和丢包率合理压制源上行带宽,以及时缓解网络拥塞。
实践经验
(1)严格限制下行重传超发倍数。严格限制下行重传超发倍数,特别对于浅 buffer 网络的低 rtt、高丢包场景尤其重要,一方面可以节省非必要恶性重传流量,另一方面可以及时缓解网络超发状态,加快网络收敛。
(2)下行 gcc 带宽评估引入丢包率参考。当前 gcc 是基于延迟梯度估算可用带宽的,在高丢包场景下并不一定能及时检测到拥塞或者判定为拥塞,如此会在高丢包场景下陷入恶性循环,所以有必要将丢包率引入到 gcc 带宽估计中,进而采取有效的规避策略,以及时达到网络收敛的目的。
写在最后
中国企业在国内优质的网络基础背景下,如果将国内原有的一套弱网对抗与解决办法用在海外,特别是东南亚市场是很难有适用性。
对于已经出海或者计划出海的开发者而言,需要在各种弱网环境下不断调整算法策略,优化算法效果,不以国内的经验为信条,勇于探索效果调优的最大化,才是做好出海技术储备的核心要义和准则。
中国企业出海从来不是一蹴而就的事情,不仅需要产品本身实力过硬,还需要懂政策、懂文化、懂运营,用户留存的各个环节都是影响最终产品变现能力的不确定因素。
此外,元宇宙与复合能力正在成为海外移动应用的一种趋势,中国企业不仅需要在自身产品定位中做好用户体验与服务,还需要不断拓宽自身边界,关注玩法多样性,从而提升产品玩法和用户留存,提高变现能力。
边栏推荐
- 高可用版 主数据库数据结构改变 备数据库会自动改变吗
- leetcode: 899. Ordered Queue [Thinking Question]
- AI也有健忘症?英国41岁教授专访:解决灾难性遗忘
- 红蓝对抗经验分享:CS免杀姿势
- Awesome!Coroutines are finally here!Thread is about to be in the past
- Optimal Power Flow (OPF) for High Voltage Direct Current (HVDC) (Matlab code implementation)
- How much does Ark Survival Evolved cost?
- 深入浅出Flask PIN
- 深度学习GPU最全对比,到底谁才是性价比之王?
- 高压直流输电(HVDC)的最优潮流(OPF)(Matlab代码实现)
猜你喜欢
【899. 有序队列】
自定SvgIcon公用组件
6000 字+,帮你搞懂互联网架构演变历程!
用友YonSuite与旺店通数据集成对接-技术篇2
Daily practice------There are 10 numbers that are required to be output from large to small by selection method
Ark server open tool, server tutorial win
2021年12月电子学会图形化一级编程题解析含答案:放学
Three key expectations for the crypto market in August Price moves north?Still expected to be in turmoil
动态链接库.dll、.so和静态库.a,cmake指令
LyScript 验证PE程序开启的保护
随机推荐
测试基础整合-测试分类、软件质量模型、测试流程、测试用例、测试点划分方法、缺陷、例子
新一代网状网协议T-Mesh无线通信技术优势介绍
A new round of competition for speech recognition has started. Will natural dialogue be the next commanding height?
JS basics--judgment
语音识别新一轮竞争打响,自然对话会是下一个制高点吗?
瞌睡检测系统介绍
一通骚操作,我把SQL执行效率提高了10000000倍!
Internship Road: Documenting Confusion in My First Internship Project
ModelWhale 云端运行 WRF 中尺度数值气象模式,随时随地即开即用的一体化工作流
Js array method is summarized
Windows服务器如何防止黑客入侵的安全设置
小熊派——无线联网开发
unity用代码生成LightProbeGroup
How Navicat connects to MySQL on a remote server
用户侧有什么办法可以自检hologres单表占用内存具体是元数据、计算、缓存的使用情况?
ECCV 2022 | Relational Query-Based Temporal Action Detection Methods
Phaser(二):小恐龙跑酷游戏
接口测试主要测试什么?
[微信小程序开发者工具] × #initialize
分享一款免费OPC UA服务器