共用方式為


調整 Azure Cache for Redis 執行個體

重要事項

Azure Cache for Redis 宣布了所有 SKU 的淘汰時間表。 建議您儘快將現有的 Azure Cache for Redis 執行個體移至 Azure 受控 Redis

有關退役的更詳細資訊:

Azure Cache for Redis 具有各種不同階層的供應項目,可讓您彈性選擇快取大小和功能。 透過調整,您可以在建立快取執行個體之後變更節點的大小、階層和數目,以符合您的應用程式需求。 本文說明如何使用 Azure 入口網站和 Azure PowerShell 與 Azure CLI 等工具來調整快取。

調整類型

基本上有兩種方式可調整 Azure Cache for Redis 執行個體:

  • 「擴大」會增加執行 Redis 伺服器的虛擬機器 (VM) 大小,並新增更多記憶體、虛擬 CPU (vCPU) 和網路頻寬。 擴大也稱為「垂直調整」。 擴大的相反詞是「縮小」

  • 「擴增」會將快取執行個體分成更多相同大小的節點、透過平行處理增加記憶體、vCPU 和網路頻寬。 擴增也稱為「水平調整」或「分區化」。 擴增的相反詞為縮減。 在 Redis 社群中,擴增經常稱為「叢集 \(英文\)」

可用性範圍

基本和標準 進階 Enterprise 和 Enterprise Flash
擴大 是的 是的 是的
縮小 是的 是的
擴增 是的 是的
縮減 是的

調整時機

您可以使用 Azure Cache for Redis 的監視功能來監視快取的性能和效能。 使用該資訊來判斷何時可調整快取。

您可以監視下列計量來判斷是否需要調整。

  • Redis 伺服器負載
    • Redis 伺服器負載偏高表示,伺服器無法跟上所有用戶端的要求。 由於 Redis 伺服器是單一執行緒流程,因此「擴增」通常會比「擴大」更實用。 透過啟用叢集來擴增,有助於將額外負荷功能分散到多個 Redis 流程。 擴增也可協助分散 TLS 加密/解密和連線/中斷連線,以使用 TLS 加速快取執行個體。
    • 擴大仍有助於減少伺服器負載,因為背景工作可以利用更多 vCPU,並釋放主要 Redis 伺服器流程的執行緒。
    • Enterprise 和 Enterprise Flash 層會使用 Redis Enterprise,而不是開放原始碼 Redis。 這些階層的其中一個優點是 Redis 伺服器流程可以利用多個 vCPU。 對於多個 vCPU,這些階層中的擴大和擴增有助於減少伺服器負載。
  • 記憶體使用量
    • 高記憶體使用量表示就目前的快取大小而言,您的資料大小太大。 請考慮調整為具有較大記憶體的快取大小。 「擴大」或「擴增」在這裡都有效。
  • 用戶端連線
    • 每個快取大小都有可支援的用戶端連線數目限制。 如果您的用戶端連線接近快取大小的限制,請考慮「擴大」到較大的階層。 「擴增」不會增加支援的用戶端連線數。
    • 如需快取大小連線限制的詳細資訊,請參閱 Azure Cache for Redis 價格
  • 網路頻寬
    • 如果 Redis 伺服器超過可用的頻寬,用戶端要求可能會逾時,因為伺服器將資料推送至用戶端的速度不夠快。 如需查看使用的伺服器端頻寬,請檢查「快取讀取」和「快取寫入」計量。 如果您的 Redis 伺服器超過可用的網路頻寬,您應該考慮擴增或擴大至較大的快取大小 (具有較高的網路頻寬)。
    • 針對使用 Enterprise 叢集原則的 Enterprise 層快取,擴增不會增加網路頻寬。
    • 如需網路可用頻寬的詳細資訊 (依照快取大小顯示),請參閱Azure Cache for Redis 規劃常見問題
  • 內部 Defender 掃描
    • C0C1 標準快取上,當內部 Defender 正在 VM 上執行掃描時,伺服器負載可能會出現不是因快取要求增加而導致的短暫峰值。 當每天在這些層級上多次執行內部 Defender 掃描時,要求延遲會更高。 C0C1 層級上的快取只有單一核心可進行多工處理,並將內部 Defender 掃描和 Redis 要求的工作分割處理。 您可以透過使用多個 CPU 核心調整為較高層級供應專案 (例如 C2) 來降低影響。
    • 較高層級上增加的快取大小有助於解決任何延遲問題。 此外,在 C2 層級,可支援多達 2,000 個用戶端連線。

如要進一步瞭解如何判斷要使用的快取定價層,請參閱選擇正確的層級Azure Cache for Redis 規劃常見問題

附註

如需如何將調整流程最佳化的詳細資訊,請參閱調整指南的最佳做法

調整 Azure Cache for Redis 的必要條件/限制

您可以擴大/縮小至不同的定價層,但具有下列限制:

  • 您無法從較高的定價層調整至較低的定價層。
    • 您無法從 EnterpriseEnterprise Flash 快取縮減到任何其他階層。
    • 您無法從進階快取向下調整至標準基本快取。
    • 您無法從標準快取向下調整到基本快取。
  • 您可以從基本快取調整到標準快取,但您無法同時變更大小。 如果您需要不同的大小,您可以進行後續調整作業,調整到您需要的大小。
  • 您無法直接從基本快取調整至進階快取。 首先,在單一調整作業中從基本調整至標準,然後在後續的調整作業中從標準調整至進階
  • 您無法從較大的大小縮減為 C0 (250 MB) 的大小。 不過,您可以縮減為相同定價層內的任何其他大小。 例如,您可以從 C5 標準縮減為 C1 標準。
  • 您無法從進階標準基本快取擴大至 EnterpriseEnterprise Flash 快取。
  • 您無法在 EnterpriseEnterprise Flash 之間進行調整。

您可以進行擴增/縮減,但具有下列限制:

  • 只有進階EnterpriseEnterprise Flash 層支援「擴增」
  • 只有進階層支援「縮減」
  • 進階層上,必須先啟用叢集,才能進行縮減或擴增。
  • 進階層中,已正式推出擴增至最多 10 個分區的支援。 最多支援 30 個分區,目前處於預覽狀態 (對於具有兩個複本的快取,分區限制為 20。使用三個複本時,分區限制為 15)。
  • 只有 EnterpriseEnterprise Flash 層可以同時進行擴大和擴增。

如何調整 - 基本、標準和進階層

使用 Azure 入口網站進行擴大和縮小

  1. 若要調整快取,在 Azure 入口網站瀏覽至快取,然後選取 [資源] 功能表中的 [調整]

    顯示資源功能表上 [調整] 的螢幕擷取畫面。

  2. 在工作窗格中選擇定價層,然後選擇 [選取]

    顯示 Azure Cache for Redis 層級的螢幕擷取畫面。

  3. 快取調整為新層級時,會顯示 [正在調整 Redis 快取] 通知。

    顯示調整通知的螢幕擷取畫面。

  4. 調整完成時,狀態會從 [正在調整] 變更為 [執行中]

附註

當您使用入口網站來擴大或縮小快取時,maxmemory-reservedmaxfragmentationmemory-reserved 設定會自動依快取大小等比例進行縮減。 例如,如果在 6 GB 快取上,將 maxmemory-reserved 設定為 3 GB,而您調整為 12 GB 快取,則設定會在調整期間自動更新為 6 GB。 當您縮小時,則會是對等的情況。

使用 PowerShell 進行擴大和縮小

當修改的屬性為 Size 時,您可以透過 PowerShell,使用 Sku Cmdlet 來調整 Azure Cache for Redis 執行個體。 下列範例示範如何在同一層,將名為 myCache 的快取調整為 6 GB 快取。

   Set-AzRedisCache -ResourceGroupName myGroup -Name myCache -Size 6GB

如需有關如何使用 PowerShell 來調整規模的詳細資訊,請參閱使用 PowerShell 來調整 Azure Cache for Redis 的規模

使用 Azure CLI 進行擴大和縮小

若要使用 Azure CLI 調整 Azure Cache for Redis 執行個體,請呼叫 az redis update 命令。 使用 sku.capacity 屬性,在階層內進行調整,例如,從標準 C0 調整為標準 C1 快取:

az redis update --cluster-name myCache --resource-group myGroup --set "sku.capacity"="2"

使用 'sku.name' 和 'sku.family' 屬性擴大至不同階層,例如,從標準 C1 快取擴大至進階 P1 快取:

az redis update --cluster-name myCache --resource-group myGroup --set "sku.name"="Premium" "sku.capacity"="1" "sku.family"="P"

如需有關如何使用 Azure CLI 來調整規模的詳細資訊,請參閱 變更現有 Azure Redis 快取的設定

附註

當您透過程式方式擴展或縮小快取時(例如,使用 PowerShell 或 Azure CLI),任何 maxmemory-reservedmaxfragmentationmemory-reserved 都會被忽略作為更新請求的一部分。 只會接受您的縮放變更。 調整作業完成之後,您可以更新這些記憶體設定。