硬件要求
开发和生产环境的 Redis Enterprise Software 硬件要求。
Redis 企业软件 | 适用于 Kubernetes 的 Redis Enterprise |
---|
Redis Enterprise Software 的硬件要求对于开发和生产环境是不同的。
-
在开发环境中,您可以使用实时数据库测试您的应用程序。
如果要在生产条件下测试应用程序,请使用 生产环境 requirements。
-
在生产环境中,您必须有足够的资源来处理数据库上的负载并从故障中恢复。
开发环境
您可以使用非生产硬件(如笔记本电脑、台式机或小型 VM 或实例)构建开发环境。 并且满足以下硬件要求:
项目 | 描述 | 最低要求 | 推荐 |
---|---|---|---|
每个集群的节点数 | 您可以在一个节点上安装,但许多功能至少需要两个节点。 | 1 个节点 | >= 2 个节点 |
每个节点的 RAM | 每个节点的 RAM 量。 | 4GB | >= 10GB |
每个节点的存储 | 每个节点的存储空间量。 | 10GB | >= 20GB |
生产环境
我们建议对生产系统或旨在演示生产使用案例的开发系统提出以下硬件要求:
项目 | 描述 | 最低要求 | 推荐 |
---|---|---|---|
节点1每个集群 | 至少需要三个节点来支持可靠、高可用性的部署,该部署以一致的方式处理进程故障、节点故障和网络拆分事件。 | 3 个节点 | >= 3 个节点(必须是奇数个节点) |
核心2每个节点 | Redis Enterprise Software 基于多租户架构,可以在同一内核上运行多个 Redis 进程(或分片),而不会显著降低性能。 | 2 个核心 | >=8 个内核 |
公羊3每个节点 | 定义 RAM 大小必须是 Redis 使用容量规划的一部分。 | 8GB | >=32GB |
短暂存储 | 用于存储复制文件(RDB 格式)和群集日志文件。 | 内存 x 2 | >= 内存 x 4 |
持久存储4 | 用于通过持久性存储介质(如 AWS Elastic Block Storage (EBS) 或 Azure Data Disk)存储快照(RDB 格式)和 AOF 文件。 | 内存 x 3 | 内存 >= RAM x 4 (极端“写入”情况除外) 自动分层 >= (RAM + Flash) x 4。 |
网络5 | 我们建议每个节点使用多个 NIC,其中每个 NIC 为 >1Gbps,但 Redis Enterprise Software 也可以在单个 1Gbps 接口网络上运行,用于处理应用程序请求、集群间通信和存储访问。 | 1G | >=10G |
用于 Auto Tiering 的本地磁盘 | 用于使用固态驱动器 (SSD) 扩展数据库 DRAM 容量。闪存必须在本地连接。阅读更多 | (RAM+闪存) x 1.6 | (RAM+闪存) x 2.5 |
其他注意事项:
-
-
不支持节点数超过 35 的集群。如果您的大小调整需要部署大量节点,请联系 Redis 支持团队寻求帮助。
-
Quorum 节点还必须符合上述最低硬件要求。
-
为了确保同步和一致性,具有三节点集群的主动-主动部署不应使用仲裁节点。由于 Quorum 节点不存储数据分片,因此它们不支持复制。如果节点发生故障,副本分片不可用于主动-主动同步。
-
-
-
当 CPU 负载达到一定水平时,Redis Enterprise Software 会向作员发送警报。
-
如果您的应用程序旨在给 Redis 数据库带来大量负载,请确保数据库的每个分片至少有一个可用内核。
-
如果某些集群节点占用了超过 80% 的 CPU,请考虑将繁忙的资源迁移到不太繁忙的节点。
-
如果所有群集节点都使用了超过 80% 的 CPU,请高度考虑通过添加节点来横向扩展群集。
-
-
-
Redis 使用相对大量的缓冲区,这些缓冲区支持副本通信、客户端通信、发布/订阅命令等。因此,您应确保在任何给定时间每个节点上都有 30% 的 RAM 可用。
-
如果一个或多个集群节点占用了超过 65% 的 RAM,请考虑将资源迁移到不太活跃的节点。
-
如果所有集群节点都使用超过 70% 的可用 RAM,请高度考虑添加节点。
-
请勿在 Redis Enterprise Software 节点上运行任何其他内存密集型进程。
-
-
- 如果集群上没有数据库启用持久性,则最小持久性存储为 RAM x 1.1,建议的持久性存储为 RAM x 2。持久性存储是必不可少的,因为 Redis Enterprise 还使用它来维护集群和数据库的运行状况、配置、恢复过程等。
-
- 仅支持静态 IP 地址,以确保节点在重启后仍是集群的一部分。
大小调整注意事项
常规数据库大小调整
调整数据库大小时要考虑的因素。
- Dataset size (数据集大小) – 您的限制应大于数据集大小,以便为开销留出空间。
- 数据库吞吐量 – 高吞吐量需要更多的分片,从而导致更高的内存限制。
- Modules (模块) – 将模块与数据库一起使用会消耗更多内存。
- Database clustering (数据库集群) – 允许您将数据分散到跨多个节点的分片中。
- Database replication (数据库复制) – 启用复制会使内存消耗翻倍。
主动-主动数据库大小调整
调整主动-主动数据库大小的其他因素:
- 主动-主动复制 – 需要的内存是常规复制的两倍,最高可达每个实例原始数据大小的两倍 (2x)。
- Database replication backlog (数据库复制积压) – 用于分片之间的同步。默认情况下,此字段设置为数据库大小的 1%。
- 主动-主动复制积压 – 用于集群之间的同步。默认情况下,此字段设置为数据库大小的 1%。
在启用 Auto Tiering 的情况下调整数据库大小
在启用 Auto Tiering 的情况下调整数据库大小的其他因素:
- 数据库持久性 – Auto Tiering 使用双数据库持久性,其中主分片和副本分片都保存到磁盘。这可能会增加一些处理器和网络开销,尤其是在具有网络连接存储的云配置中。