本頁面說明各種錯誤情況,並提供解決錯誤的指引。
複製情境
本節說明執行個體可能發生的複製問題。
如何監控複寫延遲?
Memorystore for Valkey 具有 /instance/replication/maximum_offset_diff
指標。這項指標會監控主要執行個體中節點的最大複製偏移差異 (以位元組為單位)。
如果複本的複製偏移差異較小,複本就能以較低的成本,更頻繁地執行增量同步作業,而非完整同步作業。
建議您為 maximum_offset_diff
指標設定門檻。如果超過門檻,Memorystore for Valkey 可以透過快訊通知您。
根據執行個體的節點類型,建議您按照下列方式設定門檻:
- 如果節點類型為
shared-core-nano
、standard-small
或highmem-medium
,請將門檻設為小於 64 MB。 - 如果節點類型為
highmem-xlarge
,請將門檻設為小於 1 GB。
如果主要執行個體與備用資源之間出現複製延遲,該怎麼辦?
如果主要執行個體有太多寫入作業,而備用資源無法趕上複製這些作業,就可能會出現明顯的複製延遲。如要解決這個問題,建議您增加執行個體的分片數量,藉此擴充執行個體的容量。
記憶體管理情境
本節說明執行個體可能遇到的記憶體管理問題。
您可以使用哪項指標,判斷執行個體是否處於記憶體壓力狀態?
如要監控 Memorystore for Valkey 執行個體的記憶體用量,建議您查看 /instance/memory/maximum_utilization
指標。如果執行個體的記憶體用量接近 80%,且您預期資料用量會增加,請調高執行個體的大小,以提升效能並為新資料預留空間。
監控情境
本節說明執行個體可能遇到的監控問題。
如何設定 Memorystore for Valkey 快訊?
您可以透過 Cloud Monitoring 設定快訊,在任何指標超過執行個體設定的門檻時收到通知。如要進一步瞭解如何在 Cloud Monitoring 中設定快訊,請參閱「設定記憶體用量監控快訊」。
連線管理情境
本節說明執行個體可能遇到的連線管理問題。
如果達到連線上限或連線逾時,該怎麼辦?
達到連線上限時,用戶端就無法連線至伺服器。這就是所謂的「連線遭拒」。
如果發生這種情況,請按照下列步驟操作:
- 使用
/instance/node/stats/rejected_connections_count
指標,判斷 Memorystore for Valkey 拒絕的連線數量,因為執行個體節點已達用戶端上限。 - 使用
/instance/node/clients/connected_clients
指標判斷連線至執行個體節點的用戶端數量。這樣一來,您就能查看執行個體中的所有節點是否都未超出限制。 - 使用
client kill
指令停止任何洩漏或不必要的連線。 - 在用戶端應用程式中減少連線數量或集區大小。詳情請參閱用戶端應用程式相關說明文件。
- 調整用戶端上限。詳情請參閱「設定執行個體」。
- 將執行個體擴充為較大的節點類型,這樣執行個體就會有較高的連線限制。
逾時情境
本節說明執行個體可能發生的逾時問題。
如果收到 I/O 逾時訊息,該怎麼辦?
如果 Memorystore for Valkey 的讀取或寫入作業未在指定時間內完成,就會發生 I/O 逾時。逾時的原因有很多,舉例來說,執行個體的一或多個節點可能過載。
如果收到 I/O 超時訊息,請採取下列做法:
- 使用
instance/cpu/maximum_utilization
指標判斷執行個體中節點的 CPU 使用率,範圍從 0.0 (0%) 到 1.0 (100%)。建議所有節點的 CPU 使用率百分比都低於 80%。詳情請參閱 CPU 使用率最佳做法。 - 如果伺服器逾時導致用戶端與伺服器中斷連線,請使用指數輪詢和 Jitter 重試。這有助於避免多個用戶端同時造成伺服器過載。
連線錯誤情境
本節說明執行個體可能遇到的連線問題。
防火牆規則導致連線錯誤
防火牆規則可能會封鎖 Memorystore for Valkey 使用的通訊埠,導致連線錯誤。您應允許執行個體 Private Service Connect 端點的所有連接埠。如要進一步瞭解端點,請參閱「保留的網路位址」。
機構政策導致連線錯誤。
您可以設定機構政策,禁止 Private Service Connect 連線至 Memorystore for Valkey 執行個體。
如果機構政策使用 .restrictPrivateServiceConnectProducer
政策,請將 961333125034
資料夾編號加入允許清單,這個資料夾專門用於 Memorystore for Valkey。例如:
name: organizations/Consumer-org-1/policies/compute.restrictPrivateServiceConnectProducer spec: rules: - values: allowedValues: - under:folders/961333125034
如果機構政策使用 .disablePrivateServiceConnectCreationForConsumers
政策,請允許清單 SERVICE_PRODUCERS
。例如:
name: organizations/Consumer-org-1/policies/compute.disablePrivateServiceConnectCreationForConsumers spec: rules: - values: allowedValues: - SERVICE_PRODUCERS
處理已停用叢集模式執行個體的錯誤
如果應用程式連線至沒有唯讀副本的執行個體讀取端點,連線就會關閉,並顯示
ERR no replicas found
錯誤訊息。在這種情況下,請嘗試將應用程式連線至主要端點,或在執行個體中新增唯讀副本。發生容錯移轉時,應用程式的現有連線會關閉,並顯示
ERR role change occurred
錯誤訊息。如果應用程式連線至執行個體的讀取端點,且執行個體的所有讀取副本都失敗,您也會看到這則錯誤訊息。在這種情況下,應用程式應以指數輪詢方式重試連線。