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

2024-03-20 10:22IT之家 - 故渊
感谢IT之家网友 Coje_He 的线索投递!

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

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

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

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

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

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

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

  • Garnet 采用流行的 RESP 线协议作为起点,这使得 Garnet 可以在当今大多数编程语言中直接使用未经修改的 Redis 客户端。

  • Garnet 具有更好的可扩展性和吞吐量,可连接多个客户端和小批次,从而为大型应用程序和服务节省成本。

  • Garnet 在第 99 个百分位数和第 99.9 个百分位数上显示出更好的客户端延迟,这对实际应用场景至关重要。

  • Garnet 基于最新的 .NET 技术,具有跨平台、可扩展和现代化的特点。它的设计宗旨是便于开发和发展,同时又不牺牲普通情况下的性能。我们利用.NET 丰富的库生态系统实现了 API 的广泛性,并提供了开放的优化机会。由于我们对 .NET 的精心使用,Garnet 在 Linux 和 Windows 上都实现了最先进的性能。

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

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

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

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

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

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

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

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

IT之家附上参考地址

广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。

文章价值:
人打分
有价值还可以无价值
置顶评论
    热门评论
      文章发布时间太久,仅显示热门评论
      全部评论
      请登录后查看评论
        取消发送
        软媒旗下人气应用

        如点击保存海报无效,请长按图片进行保存分享