Android 网络性能优化(4)弱网优化,2021春招BAT面试真题详解

  1. throughput

吞吐量,它是用来衡量单位时间内成功传送数据的数量,是比较权威的、官方的衡量网络质量的指标。最简单的公式: 吞吐量 = C / T ,C为完成的任务总量,T为完成这些任务的时间。

  1. singal strength

指的是无线信号强度,也就是我们的wifi信号格。Android上SDK就可以支持获取了,而iOS则需要通过黑科技来获取。

  1. bandwidth-delay product(带宽时延乘积)

带宽时延乘积,指的是一个数据链路的能力(bit/s)与来回通信延迟(s)的乘积。其结果是以比特(或字节)为单位的一个数据总量,反映的是当前网络通道的最大容量。Tcp中有滑动窗口的概念,会限制发送和接收数据的大小,所以Tcp窗口的大小是直接受带宽时延乘积的影响,来设置接收缓冲区大小和发送缓冲区大小。

2.3 建立弱网标准 / 弱网检测


在 百度APP移动端网络深度优化实践分享(三):移动端弱网优化篇中,百度使用的是一个循序渐进的过程,通过三个阶段来建立一个弱网标准:

  1. 第一阶段,线下测试

获取预期的阈值,在测试App网络切换、DNS故障时,抓取这些数据

  1. 第二阶段,线上进行验证

通过线下获取到的阈值,在线上可以获取到弱网的比例,找到会出现弱网的场景,进行诊断优化。(比如网络体验最好的微信,也只是在信令的传输上优化到极致)

  1. 第三阶段,线上反复试验

通过反复试验来调整阈值,使得优化更接近业务层。

腾讯的做法也大同小异,都是根据2.2的指标进行数据收集,整理一套达到弱网时的数据标准。但是我们该如何去探测这些数据呢?这需要我们实现一套完整的网络探测架构。

3. 弱网检测

=========================================================================

这部分基本照抄百度的实现了。网络探测是弱网检测的基础,目标是能够即时、正确的检测出网络质量,我们把网络探测分成两个部分,主动网络探测被动网络采集

3.1 主动网络探测


主动检测,就是在触发了某些特定条件后,主动的进行网络检测,并按照一定的条件检查出是否为弱网状态。架构图如下所示:


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部