共用方式為


調整 Azure 受控 Redis (預覽版) 執行個體

Azure 受控 Redis (預覽版) 具有不同的 SKU 和層級供應項目,可提供靈活的快取大小與效能選項。 您可以擴充為較大的記憶體,或變更為具有更多計算效能的層級。 本文說明如何使用 Azure 入口網站和 Azure PowerShell 與 Azure CLI 等工具來調整快取。

注意

由於 Azure 受控 Redis 的每一個層級幾乎皆具有相同功能,因此調整通常只會用來變更記憶體和效能特性。

重要

目前只支援擴充至較大的記憶體或較高的效能層級。 目前尚不支援縮小記憶體或效能較低的層級。

調整類型

Azure 受控 Redis 支援以兩個維度進行調整:

  • 記憶體增加會增加 Redis 執行個體的大小,供您儲存更多資料。

  • vCPU Azure 受控 Redis 提供三個層級 (記憶體最佳化平衡計算最佳化),每個記憶體層級的 vCPU 數量也會逐漸增加。 擴充為具有更多 vCPU 的層級會提升執行個體效能,而無需增加記憶體。 與只能使用單一 vCPU 的 Redis 社群版本不同,Azure 受控 Redis 會使用可用多個 vCPU 的 Redis Enterprise 堆疊。 這代表 Redis 執行個體所使用的 vCPU 數量會直接與輸送量和延遲效能相互關聯。

效能層級

Azure 受控 Redis 有四層級可用,每個層級都有不同的效能特性和價格等級。

有三個層級適用於記憶體內部資料:

  • 記憶體最佳化。 適用於需要高記憶體對 vCPU 比率(8:1)但不需要最高輸送量效能的記憶體密集使用案例。 它針對需要較少處理能力或輸送量的案例提供較低的價格,使其成為開發和測試環境的絕佳選擇。
  • 平衡 (記憶體 + 計算)。 提供平衡的記憶體對 vCPU (4:1) 比率,使其非常適合標準工作負載。 它提供記憶體和計算資源的良好平衡。
  • 計算最佳化。 專為需要最大輸送量的效能密集型工作負載而設計,記憶體到 vCPU 的比例較低。2:1。 非常適合需要極高效能的應用程式。

有一個層級會儲存記憶體內部和磁碟上的資料:

  • 快閃記憶體最佳化。 可讓 Redis 叢集自動將較不常存取的資料從記憶體 (RAM) 移至 NVMe 記憶體。 這可降低效能,但可讓使用大型資料集進行符合成本效益的快取調整。

階層和 SKU 一目了然

顯示每個 Azure 受控 Redis SKU 和層之不同記憶體和 vCPU 組態的數據表。

效能 (延遲或輸送量)

如需效能評定以及如何測量每個 SKU 和層級效能的詳細資訊,請參閱使用 Azure 受控 Redis 進行效能測試

調整時機

您可以使用 Azure 受控 Redis 的監視功能來監視快取的執行狀況和性能。 使用該資訊來判斷何時可調整快取。

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

  • CPU
    • 高 CPU 使用率代表 Redis 伺服器來不及處理來自所有客戶端的要求。 擴充到更多 vCPU 有助於將要求分散到多個 Redis 程序。 調整也助於散發 TLS 加密/解密和連線/中斷連線,進而加快使用 TLS 的快取執行個體的速度。
  • 記憶體使用量
    • 高記憶體使用量表示就目前的快取大小而言,您的資料大小太大。 請考慮調整為具有較大記憶體的快取大小。
  • 用戶端連線
    • 每個快取大小都有可支援的用戶端連線數目限制。 如果您的用戶端連線臨近快取大小限制,請考慮擴充到較大的記憶體大小或較高的效能層級。
    • 有關快取大小連線限制的詳細資訊,請參閱使用 Azure 受控 Redis 進行效能測試
  • 網路頻寬
    • 如果 Redis 伺服器超過可用的頻寬,用戶端要求可能會逾時,因為伺服器將資料推送至用戶端的速度不夠快。 如需查看使用的伺服器端頻寬,請檢查「快取讀取」和「快取寫入」計量。 如果您的 Redis 伺服器超出可用的網路頻寬,請考慮擴充到較高的效能層級或較大的快取大小。
    • 所選的叢集原則會影響可用網路頻寬。 一般而言,OSS 叢集原則的網路頻寬高於企業叢集原則。 如需詳細資訊,請參閱<叢集原則
    • 有關快取大小連線限制的詳細資訊,請參閱使用 Azure 受控 Redis 進行效能測試

有關判斷要使用的快取定價層級的詳細資訊,請參閱選擇合適的層級

注意

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

調整 Azure 受控 Redis 的先決條件/限制

  • 您無法從記憶體最佳化平衡計算最佳化層級調整為快閃記憶體最佳化層級,反之亦然。
  • 您無法從 縮減為具有較少 vCPU 的 SKU。 (跨層級或在層級內。)
  • 即使記憶體大小相同或更多,您也無法縮減為較小的記憶體大小。
  • 在某些情況下調整時,Redis 執行個體的基礎 IP 位址可能會變更。 執行個體的 DNS 記錄會變更,而且對大多數應用程式而言是透明的。 不過,如果您使用 IP 位址來設定快取的連線,或設定 NSG、允許快取流量的防火牆,您的應用程式有時可能會在 DNS 記錄更新之後無法連線。
  • 調整異地複寫群組中的執行個體會有更多限制。 如需相關資訊,請參閱「異地複寫是否有調整限制?」。

如何擴充

提示

您可以在單一作業中變更記憶體大小和效能層級。

使用 Azure 入口網站進行調整

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

    顯示企業快取的 [資源] 功能表中選取的 [調整] 的螢幕擷取畫面。

  2. 若要擴大,請選擇不同的快取類型,然後選擇 [儲存]

    重要

    如果您選取無法調整為的 SKU,則會停用 [ 儲存 ] 選項。 如需允許調整選項的詳細數據,請參閱調整 Azure 受控 Redis 的必要條件/限制一節。

    顯示工作窗格中 [企業] 層級的螢幕擷取畫面。

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

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

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

使用 PowerShell 進行調整

您可以使用 Update-AzRedisEnterpriseCache cmdlet,透過 PowerShell 調整 Azure 受控 Redis 執行個體。 您可以修改 Sku 屬性,以選取所需的層級和 SKU。 下列範例顯示如何將名為 myCache 的快取調整為計算最佳化 X20 (24 GB) 執行個體。

   Update-AzRedisEnterpriseCache -ResourceGroupName myGroup -Name myCache -Sku ComputeOptimized_X20

使用 Azure CLI 進行調整

若要使用 Azure CLI 調整 Azure 受控 Redis 執行個體,請呼叫 az redisenterprise update 命令。 您可以修改 sku 屬性,以選取所需的層級和 SKU。 下列範例顯示如何將名為 myCache 的快取調整為計算最佳化 X20 (24 GB) 執行個體。

az redisenterprise update --cluster-name "myCache" --resource-group "myGroup" --sku "ComputeOptimized_X20"

調整常見問題集

下列清單包含關於 Azure 受控 Redis 調整的常見問題解答。

我可以在層級內或跨層級進行調整嗎?

您可以隨時在相同效能層級內,將相同記憶體大小或較大記憶體大小調整為較高的效能層級。 若要調整為較低的效能層級或較小的記憶體大小,請參閱調整 Azure 受控 Redis 的先決條件/限制

調整之後,是否必須變更我的快取名稱或存取金鑰?

否,在調整作業期間,您的快取名稱和金鑰不會變更。

調整運作方式如何?

  • 當您調整 Redis 執行個體時,Redis 叢集中的其中一個節點會關閉並重新佈建為新的大小。 然後系統會傳送資料,並在另一個節點重新佈建之前執行類似的容錯移轉。 這類似於修補期間或其中一個快取節點失敗時會發生的程序。
  • 當調整為具有更多 vCPU 的執行個體時,系統會佈建新的分區並將其新增到 Redis 伺服器叢集。 然後,資料會跨所有分區重新分區化。

如需 Azure 受控 Redis 如何處理分區化的詳細資訊,請參閱分區化設定

我是否會在調整期間遺失快取中的資料?

  • 如果已啟用高可用性模式,則應該在調整作業期間保留所有資料。
  • 如果要縮減到較小的記憶體等級,則在縮減快取時,如果資料大小超出較小的新資料大小,資料可能會遺失。 如果縮小時遺失資料,則會使用 allkeys-lru 收回原則來收回金鑰。
  • 如果停用高可用性模式,則會遺失所有資料,而且在調整作業期間無法使用快取。

是否可以在調整期間使用我的快取?

  • 在調整作業期間,已啟用高可用性模式的 Azure 受控 Redis 執行個體仍可供使用。 不過,調整這些快取時可能會發生連線中斷。 這些連線中斷通常很短暫,一般而言,Redis 用戶端可以立即重新建立連線。
  • 如果停用高可用性模式,Azure 受控 Redis 執行個體會在調整作業期間離線。

有異地複寫的調整限制嗎?

設定作用中異地複寫之後,您無法在異地複寫群組中混合和比對快取大小。 因此,調整異地復寫群組中的快取需要更多步驟。 如需指示,請參閱調整異地複寫群組中的執行個體

調整需要多長的時間?

調整時間取決於幾個因素。 以下因素會影響調整所需時間。

  • 資料量:較大的資料量需要較長的時間才能複製
  • 高寫入要求:較高的寫入數目表示有較多跨節點或跨分區的資料複製
  • 高 CPU 使用率:較高的 CPU 使用率代表 Redis 伺服器繁忙,且可用於完成資料轉散發的 CPU 週期有限

通常在調整沒有資料的執行個體時,大約需要 10 分鐘。

如何分辨調整何時完成?

在 Azure 入口網站中,您可以看到調整作業進行中。 調整完成時,快取的狀態會變更為 [執行中]

Azure 受控 Redis 是否使用叢集?

與 Azure Cache for Redis 不同,Azure 受控 Redis 會跨所有層級和 SKU 使用叢集。 叢集可讓效能最佳化大幅提升。 Azure 受控 Redis 的每個 SKU 都會針對可用的 vCPU 數目,以最佳化的分區數目進行設定。 使用者不能設定分區數目。

每個 Azure 受控 Redis SKU 會使用多少個分區?

因為 Azure 受控 Redis 會在 Redis 企業軟體上執行,因此分區可用於比社群 Redis 更密集的設定。 若要了解每個 SKU 中使用的特定分區數目,請參閱分區化設定

如何在叢集中散發索引鍵?

依據有關金鑰散發模型的 Redis 文件︰金鑰空間會分割成 16,384 個位置。 每個索引鍵都會雜湊並指派給上述的其中一個位置,而這些位置散發於叢集的各個節點。 您可以設定哪個部分的索引鍵會雜湊,以確保多個索引鍵位於使用主題標籤的相同分區中。

  • 具有主題標籤的金鑰 - 如果金鑰的任何部分被括在 {} 中,則只有該部分的金鑰會為了判斷金鑰的主題標籤位置而進行雜湊。 例如,下列三個金鑰會位於相同的分區︰{key}1{key}2{key}3,因為只會雜湊名稱的 key 部分。 如需索引鍵主題標籤規格的完整清單,請參閱索引鍵主題標籤
  • 沒有雜湊標籤的金鑰 - 會將整個金鑰名稱用於雜湊,而產生平均散發於快取分區的結果 (就統計而言)。

如需最佳的效能和輸送量,我們建議平均散發索引鍵。 如果您使用具有主題標籤的金鑰,則應用程式必須負責確保平均散發金鑰。

如需詳細資訊,請參閱金鑰散發模型Redis 叢集資料分區化金鑰主題標籤

我可以建立的最大快取大小為何?

您可以擁有的最大快取大小為 4.5 TB,稱為快閃記憶體最佳化 A4500 執行個體。 Azure Cache for Redis 定價

OSS 和企業叢集原則之間的差異為何?

OSS 叢集原則與社群版本 Redis 中使用的叢集方法相同。 一般而言,OSS 叢集原則效能較佳。 企業叢集原則會實作叢集,會在客戶端顯示為非叢集 Redis 執行個體。 這種方法的效能可能較低,但可防止用戶端相容性問題。 目前無法切換執行中執行個體的叢集原則。 如需詳細資訊,請參閱<叢集原則>。

下一步