网络优化概述

最近更新时间:2025-03-26 10:55:42

我的收藏

简介

本文介绍如何通过网络优化的方式提升 COS SDK 上传、下载等 COS 操作的成功率和速度。

功能说明

在移动应用开发中,网络优化对于用户体验至关重要,因为移动网络固有的弱网问题、DNS问题、连接性能等等都相较于固定网络更为严重,因此,优化移动端网络,显的尤其重要。
COS SDK 提供了一系列网络优化功能,包括 DNS 解析优化、网络线路加速、弱网优化以及自定义网络层功能。
因此,如果您对上传、下载等 COS 操作的成功率、延迟较为敏感,则可以使用本文档提供的方案进行 COS 访问的网络优化。

方案概述

优化方式
问题背景
优化方案
DNS 解析异常、域名劫持、跨网访问等
COS SDK 接入 HTTPDNS
跨境、跨网、偏远地区等长距离复杂网络线路
COS SDK 接入 COS全球加速、COS全球加速 + EdgeOne
移动端弱网环境
COS SDK 接入 EdgeOne 的 QUIC 协议
APP 已有成熟的网络优化方案
COS SDK 接入自定义网络层

优化方式

方式一:DNS 解析优化

背景与问题

COS SDK 默认使用的是 LocalDNS,DNS 解析过程中可能会遇到解析异常、域名劫持、跨网访问等问题,导致上传下载等 COS 操作缓慢甚至失败。
解析异常:导致无法连接服务器,请求失败。
域名劫持:访问到非 COS 服务器,导致请求和响应失败。
跨网访问:导致网络请求缓慢、甚至请求超时失败。

优化方案

通过接入 HTTPDNS 可以避免上述问题,解决移动互联网服务中域名解析异常带来的困扰,详情请参见 DNS 解析优化

计费说明

HTTPDNS 虽然有一定免费额度,但是超过后会产生一定的费用,详情请参见 HTTPDNS 计费说明

方式二:网络线路加速

背景与问题

腾讯云在全球很多地区部署了存储中心,客户可以选择性地启用这些存储中心。但即便如此,还是无法避免一些终端用户与存储中心距离间隔太远,以及部分客户存在跨地区甚至跨海访问的业务场景。长距离的数据访问通常就意味着更长的网络链路和更大的传输时延,而且一旦中间某一个环节出现网络抖动、丢包等问题,就会拉低整条链路的访问速度和成功率。

优化方案

针对长距离访问场景,网络链路过长导致的网络访问质量不佳问题,可以通过 COS 全球加速EdgeOne 等将用户的请求递交给最靠近用户的边缘节点,就近接收用户的数据。再通过腾讯云打磨多年的加速网络,选择最优链路,将数据传送到存储中心,详情请参见 网络线路加速

计费说明

COS 全球加速、EdgeOne 会产生一定的费用,详情请参见 COS 全球加速计费说明EdgeOne 计费说明

方式三:弱网优化

背景与问题

尽管4G 和5G 网络的覆盖范围在不断扩大,但在许多地方,特别是偏远地区和室内环境,用户仍然可能会遇到网络信号弱或不稳定的情况。此外,即使在网络覆盖良好的地方,用户也可能会因为网络拥堵等原因遇到网络性能下降的问题。
在弱网环境下,可能会遇到以下问题:连接慢、数据传输慢、丢包率高、网络波动大,这些问题都会影响上传下载等 COS 操作的成功率和速度。

优化方案

COS SDK 已支持 QUIC 协议。QUIC 协议是一种基于 UDP 实现的低延迟高可靠通信协议,目前标准的 HTTP3 协议正是基于 QUIC 实现的。QUIC 支持 0-RTT 建立连接和无队头阻塞的多路复用,可以比较容易的在端侧实现用户态拥塞控制,更大限度地利用网络带宽进行实际的数据传输,在丢包率和网络延迟较高的弱网环境也可提供高质量的数据通信。同时,QUIC 还支持连接迁移,在移动端频繁切换网络的场景中,也可平滑过渡,保证网络不中断。
通过 EdgeOne 支持 QUIC 协议的网络入口,并进行 COS 相关的配置,使用 COS SDK 接入 QUIC 网络。
详情请参见 弱网优化

计费说明

EdgeOne 会产生一定的费用,详情请参见 EdgeOne 计费说明

方式四:自定义网络层

如果 COS SDK 默认的网络实现不符合您的要求或者您的 APP 本身已经开发了完善的自定义网络库并做了相关的网络优化,则可以使用在 COS SDK 中自定义网络层的方式。
这是比较灵活的方式,采用这种方式优化的网络问题、优化效果、成本等均由开发者的自定义网络层决定。
详情请参见 自定义网络层
注意:
自定义网络层功能需要对网络编程有一定的了解,如果您不确定如何使用这个功能,我们推荐您使用 COS SDK 的默认网络实现。

实践建议

由于开发者业务方向和用户群各不相同,上述各优化方式均有一定的成本,下面对一些常见场景给出实践建议。
注意:
以下建议仅供参考,具体实践还需结合自身业务需求和成本预算进行决定。
国内用户:DNS解析优化
海外用户:DNS解析优化 + 网络线路加速
弱网环境:弱网优化

示例工程

Android 示例 Demo 请参见 COS SDK 网络优化 Demo 下的 CosServiceFactory
iOS 示例 Demo 请参见 COS SDK 网络优化 Demo 下的 AppDelegate