性能调优-公网上传调优

本文涉及的产品
对象存储 OSS,标准 - 本地冗余存储 20GB 3个月
CDN,50GB 1年
对象存储 OSS,内容安全 1000 次 1年
简介: 本文主要介绍公网场景下,客户如果加速 OSS文件上传下载,已经弱网情况的处理;

场景描述

OSS 公网上传分为两种,针对这两种场景分别描述

  • 跨境传输
  • 国内传输

跨境传输

由于网络因素导致,国外国内互传 OSS 文件时,受到国际出口链路的瓶颈影响,传输速度以及稳定性都是无法保证 100% 可用,尤其是在特殊节日例如重要政治会议时期可能更容易出现封堵,针对此类情况用户可以考虑如下种优化手段;

SDK 层面

1、客户可以用 SDK 的断点上传/下载 功能,对源文件进行切片传输,降低大文件的网络传输带宽、延迟开销;同时在网络带宽利用率不高的情况下可以增加分片的并发数量,提高带宽吞吐;

2、客户在跨境传输时,可以采用增加重试,适当调大超时时间兼容弱网、丢包等环境的影响;但超时时间不宜太长,这样会影响重试;

3、多线程上传时协程的效率会比较高,但是传输速率不一定高,协程是通过线程中断进行调度切换的,保证每个线程都可以上传但是切换过程中类似软中断一样都有影响传输速率;

网络层面

1、可以开通全地域上传加速功能,通过智能 DNS 择优链路访问 OSS。
image.png

2、使用 全站加速,开通 DCDN ,将加速类型设置为全球加速,然后将 DCDN 的原站设置为 OSS 域名。DCDN 会通过就近的边缘节点(靠近网民)接入客户的上下行请求,然后通过智能选路的方式,探测一条最短的回源路径回到原站 OSS,起到上下行的加速作用;

3、如果是 PC 端上传,保证本地的文件描述符、网络连接数不要被打满,避免出现 socket 连接等待引发超时;

4、 如果用户的场景是大量的 OSS 文件被下载,也可以使用 CDN 加速文件的下行链路,通过分布众多的 CDN 节点就近访问。

工具层面

用户如果不是擅长编码,最快的方式是通过阿里云的自动化工具进行上传、下载,如果是大量文件并发上传推荐使用 ossutil ,支持并发、分片、debug 等场景。

如果客户端不会使用命令行,也可以使用 ossbrower 工具,但是传输性能不如 ossutil 而且支持的文件大小是 5G;

如果用户上传 OSS 使用的 ECS 和 OSS 在同一个地区,建议用户使用内网的 endpoint 地址来上传文件到 OSS;

国内传输

SDK 层面

1、客户可以用 SDK 的断点上传/下载 功能,对源文件进行切片传输,降低大文件的网络传输带宽、延迟开销;同时在网络带宽利用率不高的情况下可以增加分片的并发数量,提高带宽吞吐;

2、客户在跨境传输时,可以采用增加重试,适当调大超时时间兼容弱网、丢包等环境的影响;但超时时间不宜太长,这样会影响重试;

3、多线程上传时协程的效率会比较高,但是传输速率不一定高,协程是通过线程中断进行调度切换的,保证每个线程都可以上传但是切换过程中类似软中断一样都有影响传输速率;

网络层面

1、可以开通全地域上传加速功能,通过智能 DNS 择优链路访问 OSS。
image.png

2、使用 全站加速,开通 DCDN ,将加速类型设置为全球加速,然后将 DCDN 的原站设置为 OSS 域名。DCDN 会通过就近的边缘节点(靠近网民)接入客户的上下行请求,然后通过智能选路的方式,探测一条最短的回源路径回到原站 OSS,起到上下行的加速作用;

3、如果是 PC 端上传,保证本地的文件描述符、网络连接数不要被打满,避免出现 socket 连接等待引发超时;

4、 如果用户的场景是大量的 OSS 文件被下载,也可以使用 CDN 加速文件的下行链路,通过分布众多的 CDN 节点就近访问。

工具层面

用户如果不是擅长编码,最快的方式是通过阿里云的自动化工具进行上传、下载,如果是大量文件并发上传推荐使用 ossutil ,支持并发、分片、debug 等场景。

如果客户端不会使用命令行,也可以使用 ossbrower 工具,但是传输性能不如 ossutil 而且支持的文件大小是 5G;

如果用户上传 OSS 使用的 ECS 和 OSS 在同一个地区,建议用户使用内网的 endpoint 地址来上传文件到 OSS;

目录
相关文章
|
4月前
|
存储 分布式计算 大数据
【赵渝强老师】阿里云大数据存储计算服务:MaxCompute
阿里云MaxCompute是快速、全托管的TB/PB级数据仓库解决方案,提供海量数据存储与计算服务。支持多种计算模型,适用于大规模离线数据分析,具备高安全性、低成本、易用性强等特点,助力企业高效处理大数据。
238 0
|
SQL 前端开发 JavaScript
分享几个开源Java写的博客系统
分享几个开源Java写的博客系统
5892 0
分享几个开源Java写的博客系统
|
关系型数据库 MySQL 数据库
【赵渝强老师】MySQL的参数文件
MySQL启动时会读取配置文件my.cnf来确定数据库文件位置及初始化参数。该文件分为Server和Client两部分,包含动态与静态参数。动态参数可在运行中通过命令修改,而静态参数需修改my.cnf并重启服务生效。文中还提供了相关代码示例和视频教程。
287 6
手机号段查询城市免费API接口教程
此接口用于根据手机号段查询相关信息,包括城市、运营商、区号等。支持POST和GET请求,需提供用户ID、KEY及手机号段前7位作为参数。返回数据包含状态码、信息提示及详细归属信息。示例请求地址:https://cn.apihz.cn/api/ip/haoduan.php?id=88888888&key=88888888&numbers=1321993。接口免费,建议使用个人ID与KEY以独享调用频次。
|
XML 安全 API
.NET 9 AOT的突破 - 支持老旧Win7与XP环境
.NET 9开始,AOT支持Win7和XP,不仅仅只支持SP1版本
.NET 9 AOT的突破 - 支持老旧Win7与XP环境
|
缓存 NoSQL 关系型数据库
MySQL缓存策略(一致性问题、数据同步以及缓存故障)
MySQL缓存策略(一致性问题、数据同步以及缓存故障)
373 1
|
监控 关系型数据库 MySQL
银河麒麟V10 SP3 X86 二进制文件部署 mysql-5.7.29 GTID 半同步复制的双主架构
银河麒麟V10 SP3 X86 二进制文件部署 mysql-5.7.29 GTID 半同步复制的双主架构
867 1
|
自然语言处理 小程序 PHP
分享66个PHP源码,总有一款适合您
分享66个PHP源码,总有一款适合您
290 0
|
存储
gitlab--include 引入其他 ci 文件、extends 继成模板作业
gitlab--include 引入其他 ci 文件、extends 继成模板作业
gitlab--include 引入其他 ci 文件、extends 继成模板作业
|
Docker 容器
Harbor:修改默认的172网段
Harbor:修改默认的172网段
下一篇
oss云网关配置