監控資料庫效能

您可以透過幾種不同方式監控 Firebase Realtime Database 的效能,並找出應用程式中的潛在問題。查看應用程式的傳入和連出頻寬及負載,也能讓您瞭解帳單費用。此外,如果發現異常,清楚瞭解資料庫作業也有助於排解問題。

本頁面說明 Realtime Database 效能監控。如要監控用量,請參閱「監控資料庫用量」。

使用 Realtime Database 監控工具

您可以根據所需的精細程度,透過幾種不同的工具收集Realtime Database成效資料。

使用 Realtime Database 分析器工具

Realtime Database 分析器工具可即時提供資料庫讀取/寫入作業的總覽。這份報告包含每項作業的速度和酬載大小,以及未建立索引的查詢。不過,這項資訊不含歷來資訊或任何連線負擔統計資料,因此不應用於預估帳單費用。

如要進一步瞭解如何使用分析器工具,請參閱「分析資料庫」。

使用 Firebase 控制台

Firebase 控制台中的「Usage」(用量) 分頁提供資料庫同時連線數、資料儲存量、連出頻寬 (包括通訊協定和加密負載),以及資料庫在 1 分鐘間隔內的負載等資訊。雖然「Usage」(用量) 分頁可讓您更準確地掌握資料庫的整體效能,但您可能無法深入探究潛在的效能問題。

使用Cloud Monitoring

透過 Google Cloud 的 Cloud Monitoring,您可以使用 Metrics Explorer 查看個別成效指標,或建立不同的資訊主頁,其中包含顯示一段時間內各種成效指標組合的圖表。Realtime Database 與 Cloud Monitoring 的整合可提供最精細的資料。

如要瞭解如何設定 Cloud Monitoring,請參閱「監控資料庫用量」。

請參閱下列各節,瞭解如何使用特定 Cloud Monitoring 指標找出效能問題。

在Cloud Monitoring中監控成效

如果遇到效能問題 (包括運作時間或延遲時間),建議使用 Cloud Monitoring 監控下列指標。請注意,所有指標類型名稱的開頭都是 firebasedatabase.googleapis.com/。

指標名稱 說明
資料庫負載

io/database_load。這項指標可用來監控資料庫可用頻寬在一段時間內用於處理要求的比例。當資料庫負載接近可用頻寬總量時,可能會出現效能問題。您也可以查看哪些作業類型使用的負載最多,並據此排解問題。如果作業時間超過一分鐘,回報的負載可能會超過 100%。這是因為作業完成後,系統會將多分鐘內使用的總頻寬,壓縮到一分鐘的報表間隔。

因超額而停用網路

network/disabled_for_overages。如果 Realtime Database 超出任何頻寬或網路限制,這項指標會反映可能發生的任何中斷情形。

儲存空間因用量超額而停用

storage/disabled_for_overages。如果 Realtime Database 超出任何儲存空間限制,這項指標會反映可能發生的任何中斷情形。

在資訊主頁的圖表中結合指標,取得實用深入分析和總覽。例如,請嘗試下列組合:

  • 作業:使用 io/database_load 指標,查看各作業類型使用的資料庫總負載量。請務必依類型將 io/database_load 分組,以便排解不同作業類型的問題。
  • 儲存空間:使用 storage/limit 和 storage/total_bytes 監控儲存空間使用率,並與 Realtime Database 儲存空間限制比較。您也可以新增 storage/disabled_for_overages,查看應用程式是否因超出儲存空間上限而停機。
  • SSL 負擔:使用 network/https_requests_count 監控資料庫收到的 SSL 連線要求數量,並使用 reused_ssl_session 篩選器,區分出重複使用現有 SSL 工作階段票證的要求。您可以根據 network/sent_bytes_count 和 network/sent_payload_and_protocol_bytes_count 評估這項指標,監控應用程式是否有效使用 SSL 工作階段票證。

您也可以透過 Cloud Monitoring 設定快訊,並根據 Realtime Database 指標接收通知。舉例來說,您可以選擇在io/database_load接近特定門檻時收到通知。

查看可透過 Cloud Monitoring 取得的 Realtime Database 指標完整清單。

資料庫負載類型

io/database_load 指標也會提供標籤,指出造成負載的作業類型。以下是可能測量的作業類型:

  • admin:管理作業,例如設定規則和讀取專案中繼資料。
  • auth:驗證單一用戶端的服務帳戶或 Firebase 驗證。
  • client_management:處理並行連線的新增和移除作業,包括在移除時執行中斷連線作業。
  • get_shallow:使用 shallow=true 從 REST GET 擷取資料。
  • get:處理 REST GET 作業。
  • listen:從已連線的用戶端擷取 on 和 once 作業的初始資料。
  • on_disconnect:註冊用戶端的中斷連線作業。
  • put:處理來自用戶端的 set 作業或 REST PUT 作業。
  • transaction:透過條件式 REST 要求或用戶端的 transaction 作業執行交易。
  • update:處理 update 作業或 REST PATCH 要求。

監控 Cloud Monitoring 中的安全性規則

您也可以分析安全性規則的評估結果。請注意,所有指標類型名稱的前置字串都是 firebasedatabase.googleapis.com/。

指標名稱 說明
規則評估 rules/evaluation_count。為回應寫入或讀取要求,而執行的即時資料庫規則評估次數。您可以依據要求結果 (ALLOW、DENY 或 ERROR) 細分這項指標。

視需要調整規則評估的 Cloud Monitoring 圖表,例如篩選特定評估結果、ALLOW、DENY 或 ERROR。如要瞭解如何設定及自訂圖表,請參閱「監控資料庫用量」。

查看可透過 Cloud Monitoring 取得的 Realtime Database 指標完整清單。