本页介绍了 Memorystore for Valkey 实例的实例和节点规范。如需了解如何创建实例,请参阅创建实例。
选择节点类型
实例中的节点都使用您选择的相同节点类型。适合您的实例的最佳节点类型取决于您对价格、性能和键空间容量的要求。
借助 standard-small
节点类型,您可以预配小型实例,并以较小的增量扩展实例,与其他节点类型相比,费用可能会更低。standard-small
还有一个优势,即可将键空间分布到更多节点,从而提高总 vCPU 数量。与 highmem-medium
相比,这种方式具有更高的性价比,前提是较小节点的键空间总容量足以满足您的数据需求。
只有当您需要的实例容量超出 highmem-medium
提供的容量时,我们才建议您选择 highmem-xlarge
节点类型。虽然 highmem-xlarge
节点类型的大小是 highmem-medium
类型的四倍,但性能并非增加了四倍,因为在向越来越大的节点添加 vCPU(扩容)时,Valkyrie 7.2 的性能不会线性扩展。相反,为了获得更好的价格表现,您应通过向实例添加更多节点来扩容。
节点类型规范
节点容量和特性取决于您选择的四种可用节点类型:
键空间容量和预留开销
节点类型 | 默认的可写入键值对空间容量 | 节点总容量 |
---|---|---|
shared-core-nano | 1.12 GB | 1.4 GB |
standard-small | 5.2 GB | 6.5 GB |
highmem-medium | 10.4 GB | 13 GB |
highmem-xlarge | 46.4 GB | 58 GB |
Memorystore 会自动预留一部分实例容量,以帮助防止内存不足 (OOM) 错误。这样可以确保顺畅地读取和写入密钥。内存限制和存储空间详情如下:
自定义存储空间:虽然我们建议您使用默认设置,但您也可以选择使用
maxmemory
配置调整预留存储空间的大小。如需了解maxmemory
,请参阅受支持的实例配置。您可以使用多少存储空间?请参阅上表的默认可写入键空间容量列。这会显示默认情况下您的密钥可用的存储空间量。
最大限度地增加存储空间:如果您希望尽可能增加存储空间,则在您将
maxmemory
配置设置为 100% 时,总节点容量列会显示存储空间上限。不过,不建议选择高于默认设置的maxmemory
值。shared-core-nano
节点类型的硬限制为 1.12 GB,无法通过maxmemory
配置进行更改。
节点特性
节点类型 | vCPU 数量 | 提供的服务等级协议 (SLA) | 客户端数量上限 | 客户端的最大内存(maxmemory-clients 配置) |
---|---|---|---|---|
shared-core-nano | 0.5 | 否 | 5000 | 12% |
standard-small | 2 | 是 | 16,000(默认)。最大值为 32,000 | 7% |
highmem-medium | 2 | 是 | 32,000(默认)。最大值为 64,000 | 7% |
highmem-xlarge | 8 | 是 | 64,000 | 4% |
实例规格
本部分会根据实例形状、节点类型和副本数量显示实例容量下限和上限。Memorystore for Valkey 仅支持集群模式的实例。
给定最小实例形状时的最低可写入容量
节点类型和大小 | 使用 3 个节点的最小实例规格时的可写入容量下限1 |
---|---|
shared-core-nano - 1.4 GB | 4.2 GB |
standard-small - 6.5 GB | 19.5 GB |
highmem-medium - 13 GB | 39 GB |
highmem-xlarge - 58 GB | 174 GB |
1 可写入容量是指可用于写入键的存储空间量。最小可写入容量不会受到您选择的副本数量的影响。
给定实例形状的最大可写入容量
节点类型和大小 | 实例形状为 250 个主节点且每个节点没有副本时的最大容量 | 实例形状为 125 个主节点且每个节点 1 个副本时的最大容量 | 在实例形状为 83 个主节点且每个节点有 2 个副本的情况下,最大容量 |
---|---|---|---|
shared-core-nano - 1.4 GB | 350 GB | 175 GB | 116.2 GB |
standard-small - 6.5 GB | 1,625 GB | 812.5 GB | 539.5 GB |
highmem-medium - 13 GB | 3,250 GB | 1,625 GB | 1,079 GB |
highmem-xlarge - 58 GB | 14,500 GB | 7,250 GB | 4,814 GB |
选择包含 1、2 或 4 个分片的实例形状
由于处于预览状态,创建包含 1、2 或 4 个分片的实例时,需要满足以下要求并遵循以下行为:
如需使用 1、2 或 4 个分片,您必须创建具有 1、2 或 4 个分片的实例。
您必须使用 gcloud CLI 创建包含 1、2 或 4 个分片的实例。
使用 3 个分片、5 个分片或更多分片创建的实例无法扩缩为 1 个分片、2 个分片或 4 个分片。
使用 1、2 或 4 个分片创建的实例处于预览版发布阶段,受预览版发布阶段限制。
使用 1、2 或 4 个分片创建的实例可以按需要多次扩缩到任何其他实例形状。例如,您可以将具有 4 个分片的实例扩缩为 8 个分片,然后再缩减回 4 个分片。
性能
在 us-central1
区域使用 OSS memtier 基准测试工具时,每个 2 vCPU 节点(standard-small
和 highmem-medium
)每秒可执行 12 万到 13 万次操作,延迟时间为微秒,数据大小为 1 KiB。
我们建议您使用类似于生产流量的真实工作负载或合成工作负载进行自己的基准测试。此外,我们建议您在调整实例大小时预留缓冲区(或“余量”),以应对工作负载激增或意外流量。如需更多指导,请参阅最佳实践。
实例端点
本部分介绍了每个实例具有的两个端点。
发现端点
每个实例都有一个发现端点,您的客户端会连接到该端点。它是 IP 地址和端口号的组合。如需了解如何查找实例的发现端点,请参阅查看实例的发现端点。
您的客户端也会使用它进行节点发现。您的客户端使用发现端点检索实例的节点拓扑以启动第三方客户端,并使其在稳定状态下保持更新。生成的节点拓扑会提供节点端点(IP 地址和端口组合),以供第三方客户端在内存中缓存。然后,您的客户端会自动处理更新和重定向,而无需进行任何其他应用更改。如需了解客户端发现行为和最佳实践,请参阅客户端发现。
发现端点具有高可用性,因为它由多个可用区中的多个节点提供支持,以提供节点拓扑。通过端点提供拓扑非常稳健,即使在后端节点故障或节点更新的情况下也是如此。
您的发现端点的行为如下:
实例的发现端点在整个实例生命周期内保持不变,即使在维护期间或您执行任何其他操作(例如缩减或扩容实例或更改副本数量)也不例外。
随着时间的推移,节点端点可能会发生变化,并且可以回收,因为节点会不断添加和移除。理想情况下,您应使用可通过拓扑刷新和重定向自动处理这些更改的第三方客户端。如需查看第三方客户端的示例,请参阅客户端库代码示例。您的应用不应存在依赖项或假设给定实例的节点端点将保持不变。
数据端点
每个实例还具有一个 Private Service Connect 数据端点,Memorystore for Valkey 使用该端点进行客户端连接。您不应直接连接到此端点,但 Memorystore for Valkey 会使用此端点将您的客户端连接到实例中的节点。