千家信息网

Redis Enterprise新版优化线性扩展,性能测试有点厉害!

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,在Redis Enterprise 5.0版本中,其团队引入了对开源(OSS)集群API的支持,允许Redis Enterprise集群通过添加分片和节点以线性方式进行扩展。本文给出了第一个线性扩展基
千家信息网最后更新 2024年09月22日Redis Enterprise新版优化线性扩展,性能测试有点厉害!

在Redis Enterprise 5.0版本中,其团队引入了对开源(OSS)集群API的支持,允许Redis Enterprise集群通过添加分片和节点以线性方式进行扩展。本文给出了第一个线性扩展基准测试,并展示了这种无限的线性扩展能力。

线性扩展是什么?

根据维基百科的介绍,可扩展的数据库是一个可以通过添加新的处理器和存储来升级处理更多事务的数据库,并且可以在不影响使用的情况下轻松升级。数据库可以向外扩展(通过向集群添加节点,重新平衡并分配数据库)或向上扩展(通过向数据库添加分片而无需向集群添加节点)。Redis Enterprise经过优化,只需将其绑定到磁盘即可扩展。

线性扩展意味着通过添加与吞吐量相关的资源(在Redis术语中,"资源"指的是节点和分片)来顺序扩展数据库。真正的线性可扩展意味着资源量以与数据库吞吐量以相同的比例增加,并且以确定的方式增加。例如,将集群资源增加50%将导致吞吐量增加50%。

如果数据库可以线性扩展,则可以最大限度地降低运营开销并可扩展业务,而无需担心数据库中的大小限制或性能瓶颈。但是,通常会出现与扩展相关的开销,这意味着当容量增加N时,数据库吞吐量通常会增加一个比N少(或少得多)的数字。

数据库提供:

  • 亚线性扩展--当相对容量小于资源数量时。

  • 线性扩展--当相对容量等于添加资源的相对数量时。

  • 超线性扩展--当相对容量因增加资源而增加时。

Redis Enterprise的简要介绍

Redis Enterprise术语中的集群是一组云实例,虚拟机/容器节点或裸机服务器,允许创建任意数量的Redis数据库(Redis Enterprise术语中的数据库是跨多个Redis分片/实例管理整个数据集的实体,不要将此与每个Redis实例中的数据库混淆,你可以使用Redis SELECT命令在键空间中进行分段)在整个集合共享的内存池中。集群具有对称的无共享架构,数据路径与控制和管理路径之间完全分离,它包括以下主要组件:

  • Redis Shards-具有主或从的Redis实例

  • Zero-latency Proxy- 构建在多线程、无状态架构之上,负责隐藏集群的复杂性,增强安全性(SSL,身份验证,DDoS保护)并提高性能(无TCP连接管理)

  • Cluster Manager(控制和管理路径) - 由集群节点上的一组分布式进程构建,负责集群配置、响应请求、资源管理等工作,以及充当资源监视器并完全使Redis分片管理集群中其他分片的运行状况或执行故障转移。

可以在以下任何一种配置中创建Redis Enterprise集群中的数据库:

构建测试环境

综合各方面因素,其团队决定在AWS上构建测试环境,以验证Redis Enterprise是否能够以线性方式实现无限扩展。最终测试使用的是EC2 m4.16xlarge实例(64核,256GB RAM)用于集群节点和c4.8xlarge实例(36核,60GB RAM)用于运行memtier_benchmark,一个开源多线程负载生成工具。

使用多个memtier_benchmark实例是必须的,因为在许多情况下,单Redis Enterprise节点可以处理比单memtier_benchmark实例更多的流量,这种方法可避免单个NIC网络带宽和数据每秒传输限制,并且可以逐步(逐个实例)增加流量负载。

这是其团队的最终设置:

Redis Enterprise集群节点的6x m4.16xlarge实例:

运行memtier_benchmark的8x c4.8xlarge实例:

在过去几个月,其团队进行了多次测试,其中包括k节点Redis Enterprise集群其他基准测试n-shard数据库,如下所示:

表1:Redis Enterprise线性扩展,同时提供亚毫秒级性能。

图1:集群吞吐量(@ 1毫秒延迟)

这表明随着吞吐量的增加,其节点的线性扩展能力增加,Redis Enterprise能够在所有数据大小和工作负载上始终如一地提供亚毫秒级延迟。

创建和调整集群数据库

其团队使用Redis Enterprise API创建了一个192-shard集群Redis数据库,其中包含以下参数:

我们通过将proxy 线程数设置为24来调整每个节点上的proxy以应对预期的负载:

当然,其他数据库供应商也发布了许多关于其扩展能力的基准测试数据。实际上,结果表明Redis Enterprise的表现优于NoSQL同行。以下图表是其他NoSQL供应商的基准测试结果,该图表比较了Apache Cassandra,HBase,MongoDB和Couchbase。


从图表中可以看出,所有供应商都提供了亚线性扩展能力。例如,如果按节点分析Cassandra的吞吐量,Cassandra的1个节点可处理大约18,700 ops /秒,以此类推,32个节点时应该能够处理大约600,000 ops /秒。但实际上,它只能处理大约330,000ops /秒,只具备真正线性扩展数据库55%的能力。

凭借其最新的基准测试,Redis Enterprise已证明其每秒能够处理数百万次操作,即使在最基本的配置情况下也是如此。如下图所示,Redis Enterprise的性能优于其他数据库,可提供超线性扩展而不会影响性能!

表3:Redis Enterprise --节点的最佳与实际吞吐量

这一新的基准测试证明了Redis Enterprises能够实现真正的线性可扩展性,同时通过有效的资源利用提供强大的性能,但是,基准测试中并未提到其他参与数据库的版本是企业版还是开源版,因此数据还有待考量。

数据 数据库 集群 线性 节点 测试 实例 资源 吞吐量 吞吐 基准 处理 管理 性能 团队 能力 容量 图表 实际 情况 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 ktv服务器参数设置 上海数据软件开发过程 电脑安装荒野行动显示服务器 网络安全攻防上机考试 和平精英服务器没响应怎么办 重庆巫山生鲜管理软件开发 数据库在线设计工具 数据库技术计算机三级网课 华为服务器还能享受免费贴膜吗 银行软件开发中心搬雄安 手机共享网络连接服务器失败 纽约数据库技术 沭阳大型网络技术多少钱 哪里租服务器好 闵行区参考网络技术服务以客为尊 曙光服务器如何连接管理口 服务器p99 北京嵌入式软件开发中心 淄博瓷砖软件开发咨询 计算机网络安全专业的前景 天谕回归服和普通服务器的区别 计算机网络技术小学期 网络安全热点事件及分析 我的世界原版理想乡服务器 ibm服务器管理员入口 小程序连接数据库登录 使用什么语句可以删除数据库用户 网站打开找不到服务器 服务器设置网站 python程序服务器部署
0