本頁面列出 Memorystore for Redis 適用的指標,並說明各項指標的用途。
如要瞭解如何查看這些指標,請參閱「監控執行個體」一文。
Cloud Monitoring 指標
本節列出並說明適用於 Memorystore for Redis 的 Cloud Monitoring 指標。
| 指標名稱 | 說明 |
|---|---|
redis.googleapis.com/keyspace/avg_ttl |
這項指標會測量 Redis 資料庫中所有已設定到期時間的金鑰,其平均存留時間 (TTL),單位為毫秒。您可以運用這項指標瞭解快取資料的生命週期,並判斷執行個體中的鍵是否比預期更快或更慢到期。 |
redis.googleapis.com/clients/blocked |
這項指標會追蹤等待資料可用的用戶端連線數量,因為執行個體中正在執行封鎖指令。這些封鎖指令包括 您可以監控這項指標,瞭解應用程式的行為,特別是當延遲時間意外增加時,這可能與等待封鎖作業的用戶端有關。 |
redis.googleapis.com/replication/master/slaves/lag |
這項指標會測量備用資源落後主要執行個體的秒數。Memorystore for Redis 會先取得目前時間,然後減去副本確認收到傳入位元組訊息的時間,藉此計算指標值。 您可以使用這項指標,判斷副本是否落後主要執行個體。 |
redis.googleapis.com/replication/offset_diff |
這項指標會追蹤未複製到副本的位元組數。這項指標代表主要執行個體的複製位元組偏移量,與備用資源的複製位元組偏移量之間的差異。如果這些偏移量之間沒有差異,則代表副本已與主要執行個體完全同步。 在容錯移轉程序中,主要執行個體會將資料複製到備用資源,因此您可能會發現這些待處理位元組增加。 |
redis.googleapis.com/stats/cache_hit_ratio |
這項指標代表成功的 Redis 資料庫呼叫與不成功呼叫的比率。當 Redis 資料庫傳回呼叫端要求的 值時,呼叫即為成功。 快取命中率越高,表示快取的使用率越高。這有助於提升應用程式效能。 |
redis.googleapis.com/commands/calls |
這項指標會測量主要執行個體每分鐘執行的 Redis 指令數量。包括所有開放原始碼 Redis 指令,例如 |
redis.googleapis.com/clients/connected |
這項指標會顯示連至執行個體的用戶端數量。您可以監控這項指標,瞭解執行個體的負載。
如果連線用戶端數量接近 maxclients上限,伺服器可能會拒絕新的連線嘗試。 |
redis.googleapis.com/stats/cpu_utilization |
這項指標會計算 Redis 伺服器每分鐘的 CPU 用量時間。系統會依系統使用者空間和父項/子項關係細分這段時間。 CPU 秒數值會顯示 Redis 伺服器主要程序所有執行緒的 CPU 秒數總和。如要查看主執行緒的 CPU 使用率,請查看「主執行緒 CPU 秒數」( CPU 使用率偏高是 Redis 執行個體延遲增加的常見原因,因為這可能會導致指令處理延遲。監控這項指標有助於判斷 CPU 使用率是否因大量用戶端造成高負載而提高。 |
redis.googleapis.com/stats/evicted_keys |
這項指標顯示 Memorystore for Redis 從執行個體中逐出的鍵數量,因為執行個體已達到 監控這項指標有助於判斷執行個體的記憶體大小是否足以處理工作負載。如果從快取中移除經常存取的資料,金鑰逐出作業可能會影響應用程式效能。 |
redis.googleapis.com/keyspace/keys_with_expiration |
這項指標會追蹤執行個體中已設定到期時間的金鑰數量。如果沒有任何金鑰設有到期時間,指標圖表就會顯示「沒有資料」。 |
redis.googleapis.com/keyspace/keys |
這項指標會顯示資料庫中儲存的金鑰總數。如果沒有儲存任何鍵,指標的圖表就會顯示「沒有資料」。 |
redis.googleapis.com/stats/cpu_utilization_main_thread |
這項指標會測量 Redis 伺服器主執行緒使用的 CPU 秒數。這項指標會依系統使用者空間和父項/子項關係細分。您可以監控這項指標,找出主要執行緒上發生的 CPU 使用率尖峰。 |
redis.googleapis.com/stats/memory/maxmemory |
這項指標代表索引鍵在執行個體中可使用的記憶體量上限 (maxmemory)。達到這個限制後,Memorystore for Redis 會從執行個體中逐出鍵。系統會根據為執行個體設定的逐出政策,執行這項逐出程序。 |
redis.googleapis.com/stats/memory/usage_ratio |
這項指標會顯示執行個體的目前記憶體用量,並以記憶體上限的比例表示。您可以監控指標,判斷執行個體是否即將達到容量上限。根據執行個體的設定,達到這個限制會觸發金鑰逐出程序。 |
redis.googleapis.com/stats/keyspace_misses |
這項指標會追蹤主要字典中金鑰的查閱失敗次數。每當用戶端嘗試存取資料庫中不存在的鍵時,指標就會遞增。 這項指標用於計算快取命中率,可評估應用程式使用快取的效益。如果鍵空間遺漏次數偏高,通常表示應用程式要求的資料不在快取中。如果應用程式必須從速度較慢的後端資料存放區擷取資料,可能會導致延遲時間增加。 |
redis.googleapis.com/replication/role |
這項指標會傳回值,用來識別節點在複寫群組中的角色。值為 您可以使用這項指標監控節點狀態,特別是在角色可能切換的容錯移轉事件期間。此外,您還可以追蹤標準級執行個體的健康狀態和拓撲,這類執行個體支援透過複寫實現高可用性。 |
redis.googleapis.com/persistence/rdb/bgsave_in_progress |
這項指標會傳回一個值,指出 Redis 資料庫 (RDB) 的背景儲存 ( 您可以使用這項指標追蹤自動 RDB 快照或手動匯出作業。此外,監控這項指標有助於將記憶體用量或延遲時間的暫時尖峰與持續性工作建立關聯。 |
redis.googleapis.com/stats/pubsub/channels |
這項指標會追蹤執行個體中具有有效用戶端訂閱的 Pub/Sub 管道全球數量。這項指標會使用
SUBSCRIBE 或 PSUBSCRIBE 指令,計算用戶訂閱的不重複頻道總數。 |
redis.googleapis.com/stats/pubsub/patterns |
這項指標會追蹤執行個體中具有有效用戶端訂閱的 Pub/Sub 模式全球數量。這項指標會評估用戶訂閱的不重複模式總數。用戶端通常會使用 PSUBSCRIBE 指令建立這些訂閱項目。 |
redis.googleapis.com/stats/reject_connections_count |
這項指標會追蹤執行個體因下列原因拒絕的連線嘗試次數:
監控這項指標有助於找出容量問題。如果遭拒連線的數量增加,您可能需要擴充執行個體,以處理更多連線,或是增加執行個體的記憶體容量。此外,強制執行加密時,您可以使用指標來偵錯用戶端連線問題。 |
redis.googleapis.com/replication/master_repl_offset |
這項指標代表主要執行個體產生並傳送至副本的位元組總數。從這個位移量減去副本的複製位元組位移量,即可計算複製延遲的大小。如果這些偏移值之間沒有差異,表示備用資源已與主要執行個體完全同步。 |
redis.googleapis.com/replication/master/slaves/offset |
這項指標表示備用資源從主要執行個體接收的位元組總數。從主要執行個體的「Replication Byte Offset」減去這個偏移量,即可計算複製延遲的大小。如果這些偏移值之間沒有差異,表示備用資源已與主要執行個體完全同步。 |
redis.googleapis.com/stats/memory/system_memory_usage_ratio |
這項指標代表已使用的記憶體量,以系統可用記憶體總量的比率表示。系統可用記憶體總量是指您為執行個體佈建的記憶體,加上 Memorystore for Redis 提供的額外記憶體,用於管理額外程序。 |
redis.googleapis.com/stats/memory/system_memory_overload_duration |
這項指標會測量執行個體處於系統記憶體過載模式的總時間量 (以微秒為單位)。 您可以使用這項指標,追蹤執行個體記憶體用量超出系統安全運作門檻的期間。如果指標值持續偏低,可能表示執行個體的記憶體不足以處理額外程序,因此效能可能下降或不穩定。 |
redis.googleapis.com/commands/usec_per_call |
這項指標代表每分鐘內,每次 Redis 指令呼叫的平均時間。這個時間的測量單位為微秒。 這項指標會依個別指令細分。您可以藉此監控特定作業的效能,例如 您也可以使用這項指標來評估例項延遲時間。比較不同時間點的每次通話時間,即可找出效能變化,並調查延遲差異的原因。 |
redis.googleapis.com/stats/connections/total |
這項指標代表伺服器接受的連線總數。 |
redis.googleapis.com/commands/total_time |
這項指標會測量過去一秒內,每個開放原始碼 Redis 指令 (例如 SET、
GET 或
HSET) 所花費的總時間 (以微秒為單位)。舉例來說,如果 SET 指令使用 800,000 微秒,則處理該指令的所有執行個體時,會佔用單一 CPU 核心的 80%。 |
redis.googleapis.com/stats/network_traffic |
這項指標代表傳送至 Redis 或從 Redis 傳送的位元組總數。這個計數包含指令、酬載資料和任何分隔符的位元組。 |
redis.googleapis.com/server/uptime |
這項指標表示 Redis 伺服器程序的正常運作時間。 |
redis.googleapis.com/stats/memory/usage |
這項指標代表 Redis 伺服器程序分配的位元組總數。 |
執行個體詳細資料指標
本節列出並說明 Google Cloud 控制台「執行個體詳細資料」頁面上可用的執行個體指標。
| 指標名稱 | 說明 |
|---|---|
| 待複製的位元組數 | 這項指標會顯示寫入主要節點,但未複製到副本節點的資料量。這代表主要執行個體的複製位元組偏移量與副本偏移量之間的差異。 如果指標值為零,表示備用資源已與主要執行個體完全同步。通常在寫入活動頻繁或容錯移轉程序期間,會出現高值,因為資料正在同步處理。 |
| 快取命中率 | 這項指標顯示成功的 Redis 資料庫呼叫 (命中) 次數,與呼叫總次數 (命中次數加上未命中次數) 的比率。這項指標代表應用程式使用快取的效率。 快取命中率越高,表示有更多要求直接從快取完成。這有助於提升應用程式效能,因為可減少延遲。 如果比率偏低或下降,通常表示應用程式要求的資料不在快取中。這可能需要您增加執行個體的大小,或調整資料填入邏輯。 |
| 通話 | 這項指標會顯示主要執行個體每分鐘執行的 Redis 指令數。這項指標會計算所有開放原始碼 Redis 指令,例如 您可以使用這項指標來測量及分析執行個體的延遲時間。 比較通話量和通話時間,即可找出成效變化,並調查可能導致延遲尖峰的原因。 |
| 已連線的用戶端 / 已封鎖的用戶端 | 這項指標會顯示下列資訊:
|
| CPU 使用秒數 | 這項指標顯示執行個體在特定時間範圍內使用的 CPU 總時間 (以秒為單位)。 監控這項指標可判斷執行個體的 CPU 使用率是否偏高。這是延遲時間增加的常見原因,因為 CPU 使用率偏高可能會延遲指令處理作業。您也可以使用這項指標,判斷大量用戶端的高負載是否導致 CPU 使用率偏高。 |
| 已撤銷的金鑰 / 過期的金鑰 | 這項指標會顯示下列資訊:
|
| 執行個體運作時間 | 這項指標表示 Redis 伺服器程序持續執行的總時間量。如果執行個體因容錯移轉、維護或意外當機而重新啟動,指標值會降至零,然後從新的開始時間再次增加。 您可以運用這項指標找出非預期的服務中斷、容錯移轉事件或維護時段,並與其他效能變化建立關聯。 |
| 資料庫中的鍵 | 這項指標顯示執行個體中每個 Redis 資料庫儲存的金鑰總數。這項指標會追蹤資料庫中的所有金鑰,無論金鑰是否已設定到期日。如果資料庫中未儲存任何金鑰,指標圖表會顯示「沒有資料」,而不是零值。 您可以監控指標,確認執行個體是否收到流量並儲存資料。指標突然下降可能表示資料遺失、大量清除或執行個體重新啟動。 |
| 記憶體用量 / 記憶體上限 | 這項指標會顯示執行個體的記憶體用量,與記憶體上限 (maxmemory) 相比。這項限制代表金鑰在執行個體中可使用的記憶體量上限。達到限制後,Memorystore for Redis 就會開始根據為執行個體設定的淘汰政策淘汰鍵。 |
| 傳入/傳出的網路位元組數 | 這項指標會顯示執行個體在特定時間內傳送和接收的位元組數。這類網路流量包括指令、酬載資料和分隔符號的資料。 您可以透過這項指標瞭解應用程式的網路負載、找出頻寬瓶頸,以及將網路尖峰與延遲時間變化或應用程式效能建立關聯。 |
| 已接收的連線/已拒絕的連線 | 這項指標會顯示特定時間內,網路連線嘗試成功 (已接收) 和遭拒的次數。您可以運用這項指標瞭解連入連線率、偵測連線風暴,以及診斷用戶端連線或容量問題。 |
RDB 快照指標
本節列出並說明可協助您管理 Memorystore for Redis RDB 快照的指標。
快照監控指標
本節列出並說明 Memorystore for Redis 的快照監控指標。
| 指標名稱 | 說明 |
|---|---|
redis.googleapis.com/rdb/enabled |
這項指標會指出執行個體是否已啟用 RDB 快照模式。 |
redis.googleapis.com/rdb/snapshot/time_until_next_run
|
這項指標表示下一個預定快照開始執行的秒數。 |
快照狀態指標
本節列出並說明 Memorystore for Redis 的快照狀態指標。
| 指標名稱 | 說明 |
|---|---|
redis.googleapis.com/rdb/snapshot/in_progress |
這項指標表示 RDB 快照是否正在進行中。如果指標值為 true,表示正在進行快照。 |
redis.googleapis.com/rdb/snapshot/elapsed_time |
這項指標會測量建立目前快照所經過的時間。 |
redis.googleapis.com/rdb/snapshot/attempt_count |
這項指標代表每分鐘的快照嘗試次數。 |
redis.googleapis.com/rdb/snapshot/last_status |
這項指標會指出最近一次快照嘗試的狀態。 |
redis.googleapis.com/rdb/snapshot/last_success_duration
|
這項指標表示寫入上次成功快照所需的總時間。這個時間不包括失敗的嘗試。 |
redis.googleapis.com/rdb/snapshot/last_success_age |
這項指標表示自上次成功建立快照以來經過的時間。 |
快照復原指標
本節列出並說明 Memorystore for Redis 的快照還原指標。
| 指標名稱 | 說明 |
|---|---|
redis.googleapis.com/rdb/recovery/in_progress |
這項指標會指出是否從 RDB 快照進行復原。如果這項指標的值為 true,表示系統正在進行復原作業。 |
redis.googleapis.com/rdb/recovery/elapsed_time |
這項指標表示從 RDB 快照進行復原作業時,經過的時間越來越長。 |
redis.googleapis.com/rdb/recovery/estimated_recovery_time
|
這項指標表示使用上次成功建立的 RDB 快照時,預計需要多少時間才能復原。 |
redis.googleapis.com/rdb/recovery/estimated_remaining_time
|
這個指標表示從 RDB 快照完成復原作業的剩餘時間。 |
redis.googleapis.com/rdb/recovery/attempts_since_last_success
|
這項指標表示自上次從 RDB 快照成功復原以來,嘗試復原的次數。 |
redis.googleapis.com/rdb/recovery/last_status |
這項指標會指出最近一次從 RDB 快照復原的狀態。 |
redis.googleapis.com/rdb/recovery/last_duration |
這個指標表示還原上一個 RDB 快照所需的時間。 |
redis.googleapis.com/rdb/recovery/total_bytes_count |
這項指標會指出 RDB 快照的大小。 |
redis.googleapis.com/rdb/recovery/loaded_bytes_count |
這項指標表示從 RDB 快照復原期間載入的位元組數。如果復原功能未啟用,則位元組數為 0。 |