微软推出Garnet缓存存储系统:高吞吐量、低延迟、可扩展

微软近日推出了名为 Garnet 的全新缓存存储系统,能更大限度发挥硬件功能,帮助应用程序开发人员更快地运行应用程序。

图片[1] - 微软推出Garnet缓存存储系统:高吞吐量、低延迟、可扩展 - 万事屋

微软目前已经开源 Garnet,并表示已经部署到 Windows & Web Experiences Platform、Azure Resource Manager 和 Azure Resource Graph 上。

微软在新闻稿中表示,Garnet 项目于 2021 年启动研发,初衷是让应用程序和服务应该能够以“比以往更高的效率、更低的延迟和更低的成本”访问数据。

Garnet 是微软研究院基于 C# .NET8.0 开发的一种新型远程缓存存储系统,它设计目的是实现极速、可扩展和低延迟。

图片[2] - 微软推出Garnet缓存存储系统:高吞吐量、低延迟、可扩展 - 万事屋

Garnet 能够在单节点内进行线程扩展,并支持分片集群执行,具备复制、检查点、故障转移和事务处理功能。

它可以在主内存以及分层存储(如 SSD 和 Azure 存储)上运行。Garnet 提供丰富的 API 接口和强大的可扩展性模型。

微软概述了 Garnet 的优点如下:

  • Garnet 采用流行的 RESP 线协议作为起点,这使得 Garnet 可以在当今大多数编程语言中直接使用未经修改的 Redis 客户端。
  • Garnet 具有更好的可扩展性和吞吐量,可连接多个客户端和小批次,从而为大型应用程序和服务节省成本。
  • Garnet 在第 99 个百分位数和第 99.9 个百分位数上显示出更好的客户端延迟,这对实际应用场景至关重要。
  • Garnet 基于最新的 .NET 技术,具有跨平台、可扩展和现代化的特点。它的设计宗旨是便于开发和发展,同时又不牺牲普通情况下的性能。我们利用.NET 丰富的库生态系统实现了 API 的广泛性,并提供了开放的优化机会。由于我们对 .NET 的精心使用,Garnet 在 Linux 和 Windows 上都实现了最先进的性能。

实验 1:不同客户会话数量下的吞吐量

图片[3] - 微软推出Garnet缓存存储系统:高吞吐量、低延迟、可扩展 - 万事屋

图 1:在数据库大小为 (a) 1024 个键,和 (b) 2.56 亿个键的情况下,随着客户端会话数的变化,吞吐量(对数尺度)。

实验 2:不同批量大小的吞吐量

图片[4] - 微软推出Garnet缓存存储系统:高吞吐量、低延迟、可扩展 - 万事屋

图 2:在数据库大小为 (a) 1024 个键,和 (b) 2.56 亿个键的情况下,随着批量大小的变化,吞吐量(对数尺度)。

实验 3:不同客户会话数的延迟

图片[5] - 微软推出Garnet缓存存储系统:高吞吐量、低延迟、可扩展 - 万事屋

图 3:在不同的客户端会话数下,延迟变化,(a) 中位数,(b) 第 99 百分位数,和 (c) 第 99.9 百分位数

实验 4:不同批次规模的延迟

图片[6] - 微软推出Garnet缓存存储系统:高吞吐量、低延迟、可扩展 - 万事屋

图 4:在不同的批量大小下,延迟变化,(a) 中位数,(b) 第 99 百分位数,和 (c) 第 99.9 百分位数

© 版权声明
THE END
喜欢就支持一下吧
点赞14赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容