性能调优-公网上传调优

本文涉及的产品
对象存储 OSS,20GB 3个月
边缘安全加速 ESA,基础版 1个月
对象存储OSS,敏感数据保护2.0 200GB 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;

目录
相关文章
|
9月前
|
人工智能 搜索推荐 数据管理
探索软件测试中的自动化测试框架选择与优化策略
本文深入探讨了在现代软件开发流程中,如何根据项目特性、团队技能和长期维护需求,精准选择合适的自动化测试框架。
381 11
|
2月前
|
存储 分布式计算 大数据
【赵渝强老师】阿里云大数据存储计算服务:MaxCompute
阿里云MaxCompute是快速、全托管的TB/PB级数据仓库解决方案,提供海量数据存储与计算服务。支持多种计算模型,适用于大规模离线数据分析,具备高安全性、低成本、易用性强等特点,助力企业高效处理大数据。
141 0
|
SQL 前端开发 JavaScript
分享几个开源Java写的博客系统
分享几个开源Java写的博客系统
5775 0
分享几个开源Java写的博客系统
|
8月前
|
前端开发 UED 开发者
React 滚动监听 Scroll Listener
本文介绍React中实现滚动监听的方法,涵盖基本概念、常见问题及解决方案。通过监听`window`对象的`scroll`事件,开发者可以在用户滚动时触发自定义逻辑。文章详细探讨了冗余调用、组件卸载时未清理事件监听器、滚动位置不一致等常见问题,并提供了防抖、节流、保存滚动位置等解决方案。同时,强调了跨浏览器兼容性和性能优化的重要性,帮助开发者在实际项目中更好地实现滚动监听功能。
225 17
|
11月前
|
Java 关系型数据库 数据库连接
SpringBoot项目使用yml文件链接数据库异常
【10月更文挑战第3天】Spring Boot项目中数据库连接问题可能源于配置错误或依赖缺失。YAML配置文件的格式不正确,如缩进错误,会导致解析失败;而数据库驱动不匹配、连接字符串或认证信息错误同样引发连接异常。解决方法包括检查并修正YAML格式,确认配置属性无误,以及添加正确的数据库驱动依赖。利用日志记录和异常信息分析可辅助问题排查。
1049 11
|
关系型数据库 分布式数据库 数据库
【PolarDB开源】PolarDB开源社区指南:如何参与贡献及获取技术支持
【5月更文挑战第21天】阿里云开源PolarDB云原生数据库,邀请全球开发者参与贡献和技术支持。PolarDB开源社区提供交流平台,包括技术动态、文档编写和代码贡献。参与者需注册账号,了解项目,提交符合规范的Pull Request,并参与代码审查和讨论。获取技术支持可通过官方文档、技术讨论和问题报告。示例代码展示了连接PolarDB数据库执行查询的基本操作。加入社区,共同推动PolarDB发展!
248 4
|
缓存 NoSQL 关系型数据库
MySQL缓存策略(一致性问题、数据同步以及缓存故障)
MySQL缓存策略(一致性问题、数据同步以及缓存故障)
345 1
|
自然语言处理 小程序 PHP
分享66个PHP源码,总有一款适合您
分享66个PHP源码,总有一款适合您
228 0
|
运维 Java API
性能调优-python SDK 调优
主要从初始化设置以及问题排查几个方向介绍 python 调优
1979 0
性能调优-python SDK 调优
|
存储 消息中间件 缓存
阿里巴巴面试题- - -Java体系最新面试题(4)
​ 目录 Java基础篇 13、 Collection包结构,与Collections的区别 Collection是集合类的上级接口,子接口有 Set、List、LinkedList、ArrayList、Vector、Stack、Set; Collections是集合类的一个帮助类, 它包含有各种有关集合操作的静态多态方法,用于实现对各种集合的搜索、排序、线程安全化等操作。此类不能实例化,就像一个工具类,服务于Java的 Collection框架。 14、 Java的四种引用,强弱软虚 强引用 强引用是平常中使用最多的引用,强引用在程序内存不足(OOM)的时候
173 0
阿里巴巴面试题- - -Java体系最新面试题(4)