使用Amazon S3优化存储性能

使用Amazon S3优化存储性能

关键字: [Amazon Web Services re:Invent 2024, 亚马逊云科技, Amazon S3 Express One Zone, Amazon S3 Performance, Request Parallelization, Data Partitioning, Prefetching Data, Caching Data]

导读

通过Amazon S3,您可以在任何地方存储和检索几乎任意数量的数据。在本次会话中,了解为您特定工作负载性能需求选择最佳S3存储类别的关键考虑因素。探索S3如何提供无与伦比的性能能力,为云中一些最关键的性能工作负载提供动力,从数据湖分析到机器学习模型训练。同时回顾如何利用S3功能来提升工作负载性能,并释放新的效率和生产力水平。

演讲精华

以下是小编为您整理的本次演讲的精华。

优化 Amazon S3 存储性能是释放数据全部潜力并提高成本效率的关键。在本次会议中,亚马逊云科技 工程总监 Chris Wattenstein 和首席科学家 Valentin Flunker 深入探讨了 S3 性能优化的复杂性,提供了有关架构基础、最新增强功能以及各种工作负载类型的实用策略的见解。

Chris 强调 Amazon S3 存储了超过 400 万亿个对象、艾字节的数据,每秒处理数百万个请求,凸显了该服务的大规模和分布式特性。他解释说,每个请求都要经过一系列操作,包括 DNS 查找、建立连接、索引查找,然后从众多存储服务器之一检索数据,最后将数据流式传输回客户端。

理解性能的关键在于两个核心组件:开销(首字节时间)和数据传输。Chris 阐明每个请求都会产生开销,而这种开销在后续的数据传输阶段被摊销。工作负载可分为延迟敏感型(请求延迟至关重要)和吞吐量敏感型(总吞吐量优先)。

Chris 强调测量的重要性,CloudWatch 和 S3 存储透镜 等服务提供工作负载性能指标,而 S3 服务器访问日志则提供详细的请求级性能数据。对于延迟敏感型工作负载,首字节延迟和最后一字节延迟至关重要;对于吞吐量敏感型工作负载,每个前缀的总吞吐量和请求率是监控潜在节流的关键指标。

Chris 深入探讨了为频繁访问数据而设计的 Amazon S3 One Zone Express 存储类,旨在提供单位毫秒级访问和高吞吐量。他举例说明,移动应用开发公司 Liiburg 将部分频繁访问的数据利用 S3 Express One Zone,实现了更快的检索时间,并将总体拥有成本降低了约 18%。

会议讨论了 亚马逊云科技 通用运行时(CRT)库,该库针对 I/O 密集型工作负载进行了优化。Chris 说明了 CRT 如何集成到各种 SDK 中,可以显著提高性能,举例说明启用 CRT 将下载 101 GB 文件所需时间从 8 分钟缩短到 4 分钟。

对于文件应用程序,Chris 介绍了 Mount Point 文件接口,它将 API 调用转换为 S3 REST API 调用。他强调了其对多 NIC 和分布式缓存的支持,可以在 S3 Express 中缓存频繁访问的数据。Chris 分享了大陆汽车供应商的例子,他们利用 Mount Point 加速了数据模拟工作负载,性能提高了 20%。

在机器学习领域,Chris 讨论了 Amazon S3 PyTorch 连接器,它优化了训练数据检索,从 S3 获取数据速度提高了 4-5 倍。

对于数据湖,Chris 强调了 S3 Linux 加速器库,这是一个优化 Parquet 文件访问的开源贡献。他解释说,这个库解决了通常需要多个请求来访问 Parquet 文件的问题,通过过度读取和缓存通常小于 1MB 的页脚(在 99.9% 的情况下),将其减少到单个请求。

最后,Chris 提到了最近推出的 Amazon S3 Tables,它利用 Iceberg 优化来提高存储在 S3 中的表数据的事务和查询性能,每秒事务数可提高 10 倍,查询性能可提高 3 倍。

Valentin Flunker 随后上台,深入探讨了性能优化技术,重点关注并行化、请求大小、预取和缓存。

Valentin 强调并行化是提高整体吞吐量的关键杠杆。他举例说明,使用单个 put 请求上传 100 MB 文件会产生一定的吞吐量,而将文件分成较小的部分并使用多部分上传并行上传,可显著提高上传性能。同样,对于下载,他演示了如何通过多个连接并行下载 100 MB 对象,从 S3 实现数百 GB/秒的吞吐量。

Valentin 解释说,虽然并行化很强大,但过度并行化可能会由于客户端资源限制而导致收益递减。他警告说,在某个点上,每个单独请求都会由于客户端 CPU 忙于处理其他请求而变慢,从而导致整体工作负载减速。

在 S3 端,Valentin 讨论了从集群发送大量并行请求时可能出现节流的情况,特别是如果所有密钥共享一个公共前缀。他解释说 S3 对数据进行分区,如果所有密钥落在单个分区上,就会使该分区过载,导致节流(503 错误)。为了缓解这种情况,Valentin 建议通过将日期和其他时间变化组件移至密钥名称的右侧并引入哈希随机性来有效分区数据。

Valentin 随后讨论了请求大小和对象大小对性能的影响。他解释说,虽然所有请求都会产生类似的开销,但较大的请求可以更有效地摊销这种开销,从而获得更好的整体性能。他举了 TPC-DS 基准测试中的一个工作负载示例,将 3TB 数据集的文件大小从 1MB 增加到 128MB,速度提高了 8 倍,成本降低了 25 倍。

Valentin 强调了预取(在需要数据之前下载数据)作为一种关键技术,尤其是在机器学习工作负载中,防止 GPU 空闲至关重要。他鼓励在应用程序逻辑中采用预取,以确保所需数据的可用性。

最后,Valentin 强调了缓存频繁访问数据的重要性,可以在实例存储、S3 Express 或 CloudFront 等服务上进行缓存。他解释说,缓存可以消除重复请求的需求,从而提高频繁访问数据子集的性能。

在整个会议过程中,Chris 和 Valentin 提供了真实世界的例子和客户案例,说明了各种性能优化技术的实际应用和好处。例如,移动应用开发公司 Liiburg 利用 S3 Express One Zone 存储频繁访问的数据,实现了更快的检索时间,并将总体拥有成本降低了 18%。大陆汽车供应商利用 Mount Point 加速了他们的数据模拟工作负载,性能提高了 20%。

会议最后呼吁与会者利用所讨论的策略、测量工作负载性能,并探索 亚马逊云科技 网站上丰富的资源。

总之,这次关于优化 Amazon S3 存储性能的全面会议提供了有关架构复杂性、最新增强功能以及针对不同工作负载类型的实用优化策略的宝贵见解。通过采用并行化、优化请求大小、利用预取和缓存以及采用最新的 S3 功能,组织可以释放数据的全部潜力,同时提高成本效率并为客户提供卓越的体验。

下面是一些演讲现场的精彩瞬间:

Chris来自Wattenstein,是亚马逊云科技的一位工程总监。

9c68adb392be59f57d91c352ea0ba93e.png

他介绍了自己在过去几年中专注于为客户提高性能的工作。

5b921451d12f935f655a18ab8887cc6e.png

Andy Jassy概述了Amazon S3的高级架构,强调其庞大的规模,拥有超过4000万亿个对象、艾字节的数据和每秒数亿次的请求。

af50c0914cd019cbd299d28ecf89162d.png

Amazon S3 Express One Zone提供单位毫秒级的低延迟、高吞吐量,对于频繁访问的数据,性能可提高10倍,同时与标准存储相比,请求成本降低50%。

c0ee6d7d8ddb2c7afe8a40bedce4b650.png

亚马逊云科技宣布了Amazon Express One Zone的新性能改进和功能,包括对象追加、生命周期探索和KMS支持,使其成为优化性能的越来越受欢迎的存储类别。

b6fef4b42ea1f4d029783023eb4208c4.png

Mount Point支持分布式缓存,允许将频繁访问的数据缓存在S3 Express中,从而提高性能,同时保持S3标准存储的持久性和可用性。

2a42bc05cf3e02708bd451e3f3ac7d05.png

S3可以通过将数据拆分为多个分区来动态扩展性能,以处理前缀上持续的高负载。

fad6bc4b7079ac465fd6fdc782233218.png

总结

在这个富有洞见的会议中,Chris和Valentin深入探讨了利用Amazon S3优化存储性能的复杂性。他们强调了存储性能在释放数据价值、提高成本效率和增强客户体验方面的重要性。会议涵盖了理解请求和工作负载性能的思维模型,强调了并行化、减少开销以及利用预取和缓存等技术的重要性。

Chris介绍了几项最新的性能增强功能,包括Amazon S3 One Zone Express用于低延迟访问、亚马逊云科技 Common Runtime (CRT)用于优化I/O密集型工作负载、Mount Point用于基于文件的应用程序,以及开源贡献如S3 Linux Accelerator Library。他还讨论了Amazon S3 Tables这一新功能,用于存储表格数据,提高事务和查询性能。

Valentin进一步阐述了性能优化策略。他强调了并行化的关键性、有效分区数据以避免节流、优化请求大小和对象大小,以及利用预取和缓存技术。会议提供了实际示例和洞见,不仅关注单个请求的性能,还关注工作负载性能的测量和改进。

最后,演讲者重申了亚马逊云科技对持续性能增强的承诺,并鼓励与会者探索所讨论的新功能、客户端和性能杠杆。他们强调了优化工作负载性能而不仅仅是单个请求性能的重要性,并提供了宝贵的进一步学习资源。

亚马逊云科技(Amazon Web Services)是全球云计算的开创者和引领者。提供200多类广泛而深入的云服务,服务全球245个国家和地区的数百万客户。做为全球生成式AI前行者,亚马逊云科技正在携手广泛的客户和合作伙伴,缔造可见的商业价值 – 汇集全球40余款大模型,亚马逊云科技为10万家全球企业提供AI及机器学习服务,守护3/4中国企业出海。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值