監控資料庫效能

您可以透過幾種不同的方式監控 Firebase Realtime Database 的效能,並找出應用程式中的潛在問題。查看應用程式的傳入和傳出頻寬和負載,也可以讓您瞭解帳單的費用。此外,如果發生異常情況,請務必清楚瞭解資料庫的運作情形,這可能會是實用的問題排解工具。

本頁將說明 Realtime Database 效能監控。如需瞭解用量監控功能,請參閱「監控資料庫用量」。

使用 Realtime Database 監控工具

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

使用 Realtime Database Profiler 工具

Realtime Database 分析器工具可即時提供資料庫讀取/寫入作業的概略資料。除了未編入索引的查詢外,這份報表還包含每項作業的速度和酬載大小相關資訊。不過,這項資訊不含連線額外負擔的歷史資訊或任何統計資料,也不應用於估算帳單費用

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

使用 Firebase 主控台

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

使用Cloud Monitoring

透過 Google CloudCloud Monitoring,您可以使用 Metrics Explorer 查看個別成效指標,或是建立不同的資訊主頁,並透過圖表顯示一段時間內成效指標的各種組合。Realtime DatabaseCloud 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/limitstorage/total_bytes 監控儲存空間使用率與 Realtime Database 儲存空間限制的關係。您也可以新增 storage/disabled_for_overages,查看應用程式是否因超過儲存空間上限而發生任何停機時間。
  • SSL 額外負擔:使用 network/https_requests_count 監控資料庫收到的 SSL 連線要求數量,並使用 reused_ssl_session 篩選器分割重複使用現有 SSL 工作階段票證的要求。您可以根據 network/sent_bytes_countnetwork/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:從已連線的用戶端擷取 ononce 作業的初始資料。
  • on_disconnect:註冊用戶端的斷線作業。
  • put:處理來自用戶端或 REST PUT 作業的 set 作業。
  • transaction:透過條件式 REST 要求或用戶端的 transaction 作業執行交易。
  • update:處理 update 作業或 REST PATCH 要求。

監控 Cloud Monitoring 中的安全性規則

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

指標名稱 說明
規則評估 rules/evaluation_count. 回應寫入或讀取要求時執行的即時資料庫規則評估次數。您可以依據要求結果 (允許、拒絕或錯誤) 細分這項指標。

視需要為規則評估調整 Cloud Monitoring 圖表,例如篩選特定評估結果 (允許、拒絕或錯誤)。如要設定及自訂圖表,請參閱「監控資料庫用量」一文。

請參閱可透過 Cloud Monitoring 取得的 Realtime Database 指標完整清單