Amazon S3提升请求速率性能并减少随机前缀使用需求

Amazon Web Services(AWS)最近宣布了S3请求速率得到显著性能,并能够并行化请求以扩展到所需的吞吐量。值得注意的是,这种性能提升还“移除了随机化对象前缀的任何先导”,并可以在S3对象命名中使用“逻辑或顺序命名模式,而不会对性能产生任何影响”。

\\

Amazon Simple Storage Service(Amazon S3)是一种对象存储服务,用于“随时随地存储和检索任意数量的数据”。业界将其作为各种大型场景的存储后端,客户在向服务传输对象或从服务获取对象时往往需要非常高的吞吐量。根据S3请求速率和性能指南,应用程序现在可以实现“每秒至少3,500次PUT/POST/DELETE和5,500次GET请求”,高于之前的“每秒300 PUT/LIST/DELETE或800多次GET请求“。

\\

一个重要的方面是S3现在还自动根据“桶的前缀”提供这种吞吐量的提升,并且“前缀的数量没有限制”,这意味着应用程序可以使用并行所需的前缀来实现所需的吞吐量,并“通过计算集群的因子”有效地扩展S3性能。除此之外,这种大规模的高性能S3不再需要随机对象命名。

\\

这一显著变化的技术细节目前还没有文档化,但之前版本的性能指南说明了常用场景面临的一些底层的挑战,如在上传大量对象时,“客户有时候会使用序号或日期和时间作为键名称的一部分”(根据Internet Archive2017-17-29数据):

\\
\examplebucket/2013-26-05-15-00-00/cust1234234/photo1.jpg\examplebucket/2013-26-05-15-00-00/cust3857422/photo2.jpg\examplebucket/2013-26-05-15-00-00/cust1248473/photo2.jpg\examplebucket/2013-26-05-15-00-00/cust8474937/photo2.jpg\examplebucket/2013-26-05-15-00-00/cust1248473/photo3.jpg\...\examplebucket/2013-26-05-15-00-01/cust1248473/photo4.jpg\examplebucket/2013-26-05-15-00-01/cust1248473/photo5.jpg\examplebucket/2013-26-05-15-00-01/cust1248473/photo6.jpg\examplebucket/2013-26-05-15-00-01/cust1248473/photo7.jpg\...\
\\

使用带有顺序前缀的大量对象会引入性能问题,因为它增加了“Amazon S3将大量键定位到特定分区的可能性,从而压垮分区的I/O容量”。这个问题只能通过人工命名约定来缓解,例如添加哈希键前缀或反向嵌入ID,用以随机化键名和分区访问。

\\

这些技术限制对于应用程序设计来说是不太友好的,并且AWS也承认这种“随机性确实会引入一些有趣的挑战”,例如,“当你想列出键名称中具有特定日期的键”。后来,S3分区机制进行了重新设计,架构师和开发人员现在可以设计和实现S3支持的应用程序,并严格使用面向用例的命名方案。

\\

云经济学家兼“Last week in AWS”作者Corey Quinn在他的文章“S3 is faster\" doesn't do it justice中称赞了这一改进:

\\
\

[...]将实现细节呈现给客户是历史遗留问题。你应该在不需要了解服务如何运作的情况下获得可接受的性能。我很高兴这个历史遗留问题现在被丢进了历史垃圾箱[...]

\
\\

对于GET密集型的工作负载,AWS建议继续使用它的内容交付网络(CDN)Amazon CloudFront,以进一步优化延迟和传输速率,同时降低成本。

\\

根据存储性能和可扩展性核对清单提供的指南,微软Azure的Blob Storage使用“基于范围的分区方案来伸缩系统和进行负载均衡”。根据“optimizing your Cloud Storage performance”的说明,Google Cloud Platform的Cloud Storage“通过文件的名称/路径对上传连接进行自动均衡,分配到多个后端分片[…]”。因此,两种服务都建议使用基于显式哈希前缀而不是顺序命名方案来优化大规模场景下的性能。

\\

在相关的新闻中,Amazon S3最近宣布了基于对象标签的选择性跨区域复制,以及S3 Select的特性增强,这两者都可以进一步提高特定用例的性能。

\\

Amazon S3文档提供了一个开发者指南,包括性能优化API参考。除了支持常规S3 API之外,AWS CLI还提供更高级别的S3命令,以便更有效地复制、移动和同步大量对象。Amazon Simple Storage Service(S3)论坛为此提供支持。在Amazon S3常规定价之外,所有客户都可以自动获得所有的改进,而无需支付额外费用。

\\

查看英文原文Amazon S3 Increases Request Rate Performance and Drops Randomized Prefix Requirement

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值