共用方式為


排查 Azure 託管 Redis (預覽版) 伺服器問題

本部分討論對由 Azure 託管 Redis (預覽版) 伺服器或託管該伺服器的任何虛擬機器上的條件所引起的問題進行疑難排解。

注意

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

高 CPU

高 CPU 意味著 Redis 伺服器繁忙且無法跟上請求,從而導致逾時。 從左側的資源選單中選擇監控,檢查快取上的 CPU 指標。 您可以在工作窗格中的 Insights 下看到 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,其可協助您識別問題。 您可以使用入口網站來檢視這些計量

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

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

長時間執行的命令

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

伺服器端的頻寬限制

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

其他資訊