共用方式為


針對 Azure 受控 Redis (預覽) 伺服器問題進行疑難解答

本節討論 Azure 受控 Redis 伺服器或任何裝載它之虛擬機的條件所造成的疑難解答問題。

注意

本指南中的數個疑難排解步驟包含如何執行 Redis 命令和監視各種效能度量的指示。 如需詳細資訊和指示,請參閱 其他資訊 一節中的文章。

高 CPU

高 CPU 表示 Redis 伺服器忙碌中且無法跟上要求,導致逾時。 從左側的 [資源] 功能選取 [監視],以檢查快取上的CPU計量。 您會在 [深入解析] 底下的 [工作] 窗格中看到 CPU 圖形。 或者,將計量設定為 [計量] 底下的 [CPU]。

以下是針對高 CPU 考慮的一些選項。

相應增加或移至較高的效能層級

為了提升效能,請考慮使用更多CPU核心相應增加至較大的快取大小。 如需詳細資訊,請參閱 效能層級

用戶端連線數目的快速變更

如需詳細資訊,請參閱避免用戶端連線尖峰

長時間執行或成本高昂的命令

如需詳細資訊,請參閱長時間執行的命令

調整大小

調整作業需要大量 CPU 和記憶體,因為該作業可能需要在節點周圍移動資料,並變更叢集拓撲。 如需詳細資訊,請參閱調整

伺服器維護

如果您的 Azure 受控 Redis 發生故障轉移,則所有已關閉節點的用戶端連線都會傳輸到仍在執行的節點。 CPU 可能會因為連線增加而突然增加。 您可以嘗試重新啟動用戶端應用程式,讓所有用戶端連線在兩個節點間重新建立和重新分配。

高記憶體用量

伺服器上的記憶體壓力可能導致各種效能問題,並延遲處理要求。 達到記憶體壓力時,系統會將資料分頁至磁碟,導致系統大幅降低速度。

以下是一些記憶體壓力可能的原因︰

  • 接近容量上限的資料會填滿快取
  • Redis 伺服器會顯示高記憶體片段

負載模式儲存大小極端不同的資料時,可能導致記憶體片段。 例如,資料大小橫跨 1 KB 和 1 MB 時,可能發生記憶體片段。 從現有的記憶體刪除 1 KB 索引鍵後,1 MB 索引鍵即無法放入,因而導致片段。 以此類推,如果刪除 1 MB 索引鍵並新增 1.5 MB 索引鍵,後者無法放入現有的回收記憶體, 這導致未使用的可用記憶體,並產生更多的片段。

如果used_memory_rss值高於計量的 1.5 倍used_memory,則記憶體會出現片段。 下列情況時,片段可能導致問題:

  1. 記憶體使用量接近快取的記憶體限制上限,或
  2. UsedMemory_RSS 高於記憶體限制上限,可能導致記憶體中的分頁錯誤。

如果快取已是碎片,並在高記憶體壓力下執行,則系統會執行容錯移轉以嘗試復原 Resident Set Size (RSS) 記憶體。

Redis 透過 INFO 命令來公開兩個統計資料、used_memoryused_memory_rss,其可協助您識別問題。 您可以使用入口網站來檢視這些計量

您可以進行幾項可能的變更,以協助讓記憶體使用量保持良好狀況:

如需記憶體管理的建議,請參閱記憶體管理的最佳做法

長時間執行的命令

如需詳細資訊,請參閱長時間執行的命令

伺服器端的頻寬限制

如需詳細資訊,請參閱網路頻寬限制

其他資訊