您在构建从对象存储OSS上传和下载数据的应用程序时,请遵循本文提供的最佳实践指南以优化性能。

从OSS上传和下载数据时,您的应用程序可以轻松实现每秒数千个事务的请求性能。您的应用程序可以实现存储空间(Bucket)中每个分区(OSS按对象名的字母序排列对象,并按照数据量和请求QPS来拆分分区)每秒至少 3,500 个PUT/COPY/POST/DELETE请求和5,500个GET/HEAD请求,而存储空间中的前缀数量是没有限制的,因此您可以通过并行读取来提高读取或写入性能。也就是说,如果您的请求的文件前缀设计合理,在某个OSS Bucket中创建了10个前缀来并行上传,则可以将数据写入性能扩展到每秒35,000个PUT请求。

OSS上的某些数据湖应用程序会扫描数百万或数十亿个对象,执行超过PB级别数据的查询。这些数据湖应用程序可实现单实例传输速率,从而最大限度地利用其云服务器ECS实例的网络接口,在单个实例上最高可达100 Gbit/s。这些应用程序将多个实例吞吐量聚合,从而达到每秒TB级别的吞吐。

对时延敏感的程序,如社交媒体消息应用程序,可以实现针对小文件的大约100~200毫秒时延。

其他OSS服务还可以帮助提高不同应用程序架构的性能。例如,如果您希望提升同一地区大量用户同时下载同一个静态文件的访问体验,请使用阿里云CDN,将OSS资源缓存至就近的CDN节点,通过CDN节点进行分发,提升访问速度。如果您希望在客户端和OSS之间进行长距离的快速数据传输,请使用OSS的传输加速功能。传输加速通过智能调度的系统、优化的传输链路、调优的协议栈与传输算法,并深度结合OSS服务端的配套策略,提供端到端的加速方案。