扩展
在负载较低的情况下进行缩放
在负载较低的情况下缩放缓存时,请配置 maxmemory-reserved
设置来提高系统响应能力。 有关详细信息,请参阅配置 maxmemory-reserved 设置。
缩放群集
在横向扩展或缩减群集缓存之前,请尝试尽可能减少缓存中的数据。减少数据可确保必须移动的数据量较小,从而减少缩放操作所需的时间。 有关何时缩放的详细信息,请参阅何时缩放。
在负载过高前进行缩放
在服务器负载或内存使用量过高之前开始缩放。 如果过高,则意味着 Redis 服务器正忙。 处于繁忙状态的 Redis 服务器没有足够的资源来缩放和重新分发数据。
缓存大小
如果使用 TLS 且连接数量很多,请考虑横向扩展,以便可以将负载分散到更多核心上。 某些大小的缓存托管在具有 4 个或更多核心的 VM 上。 通过将负载分散到多个核心上,你可以降低缓存 VM 上的总体 CPU 使用率。 有关详细信息,请参阅有关 VM 大小和核心数的详细信息。
缩放和内存
可以在 Azure 门户中缩放缓存实例。 此外,可使用 PowerShell cmdlet、Azure CLI 和 Azure 管理库 (MAML) 以编程方式缩放缓存。
在门户中纵向扩展或缩减缓存时,maxmemory-reserved
和 maxfragmentationmemory-reserved
设置都会自动根据缓存大小成比例进行缩放。 例如,如果 maxmemory-reserved
在 6 GB 缓存上设置为 3 GB,并且你扩展到 12 GB 缓存,则在扩展期间这些设置会自动更新为 6 GB。 纵向缩减时,将发生相反的行为。
使用 PowerShell、CLI 或 REST API 以编程方式纵向扩展或缩减缓存时,将忽略更新请求中的任何 maxmemory-reserved
或 maxfragmentationmemory-reserved
。 只会遵循缩放更改。 你可以在缩放操作完成后更新这些内存设置。
请根据你的层级参阅以下内容之一,以了解有关缩放和内存的详细信息:
注意
以编程方式纵向扩展或缩减缓存时,将忽略更新请求中的任何 maxmemory-reserved
或 maxfragmentationmemory-reserved
。 只会遵循缩放更改。 你可以在缩放操作完成后更新这些内存设置。
如果最大程度地减少数据,将有助于更快地完成缩放
如果不需要在缓存中保留数据,请考虑在缩放之前刷新数据。 刷新缓存有助于更快地完成缩放操作,从而更快地提供新容量。 请查看有关如何启动刷新操作的更多详细信息。