監控數據庫性能

有幾種不同的方法可以監控 Firebase 即時資料庫的效能並發現應用中的潛在問題。查看應用程式的傳入和傳出頻寬和負載還可以讓您了解帳單上的預期內容。此外,如果出現問題,清楚了解資料庫的操作可能是有用的故障排除工具。

本頁討論即時資料庫效能監控。有關使用情況監控,請參閱監控資料庫使用情況

使用即時資料庫監控工具

您可以透過幾種不同的工具收集有關即時資料庫效能的數據,具體取決於您所需的粒度等級。

使用即時資料庫分析器工具

即時資料庫分析器工具提供資料庫讀取/寫入操作的即時概述。除了未索引的查詢之外,該報告還包括有關每個操作的速度和有效負載大小的資訊。但是,它不包括歷史資訊或任何有關連接開銷的統計信息,也不應用於估計計費成本

要了解有關使用分析器工具的更多信息,請參閱分析您的資料庫

使用 Firebase 控制台

Firebase 控制台中的「使用情況」標籤提供有關資料庫的同時連接、正在儲存的資料量、傳出頻寬(包括協定和加密開銷)以及資料庫在 1 分鐘間隔內的負載的資訊。雖然「使用情況」標籤可讓您更準確地了解資料庫的整體效能,但您可能無法深入深入解決潛在的效能問題。

使用雲端監控

透過 Google Cloud 的 Cloud Monitoring,您可以使用 Metrics Explorer 查看各個效能指標,或使用圖表建立不同的資訊中心,以顯示一段時間內效能指標的各種組合。即時資料庫與雲端監控的整合提供了最深層的細微度。

監控資料庫使用情況中介紹了設定 Cloud Monitoring 的步驟。

請參閱以下部分,以了解有關使用特定 Cloud Monitoring 指標來發現效能問題的提示。

在 Cloud Monitoring 中監控效能

如果您遇到效能問題(包括正常運作時間或延遲),您可能需要使用 Cloud Monitoring 來監控以下指標。請注意,所有指標類型名稱均以firebasedatabase.googleapis.com/為前綴。

指標名稱描述
資料庫負載

io/database_load 。使用此指標可以監控隨著時間的推移,有多少可用資料庫頻寬用於處理請求。當資料庫負載接近總可用頻寬時,您可能會遇到效能問題。您也可以查看哪些操作類型使用的負載最多,並相應地進行故障排除。對於耗時超過一分鐘的操作,報告的負載可能會超過 100%。當操作完成後,多分鐘使用的總頻寬被壓縮為一分鐘長的報告間隔時,就會發生這種情況。

網路因超量而被停用

network/disabled_for_overages 。此指標反映了即時資料庫超出任何頻寬或網路限制時可能發生的任何中斷。

因超量而禁用存儲

storage/disabled_for_overages 。此指標反映了即時資料庫超出任何儲存限制時可能發生的任何中斷。

將儀表板上的圖表中的指標組合起來,以獲得有用的見解和概述。例如,請嘗試以下組合:

  • 操作:使用io/database_load指標來查看每種操作類型使用了總資料庫負載的多值。確保按類型對io/database_load進行分組,以便對不同的操作類型進行故障排除。
  • 儲存:使用storage/limitstorage/total_bytes來監控與即時資料庫儲存限制相關的儲存利用率。您也可以新增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 設定警報並根據即時資料庫指標接收通知。例如,您可以選擇在io/database_load接近某個閾值時接收通知。

查看透過 Cloud Monitoring 提供的即時資料庫指標的完整清單

資料庫載入類型

io/database_load指標也提供導致負載的操作類型的標籤。以下是測量的可能的操作類型:

  • admin :管理操作,例如設定規則和讀取項目元資料。
  • auth :驗證單一用戶端的服務帳戶或 Firebase 驗證的身份驗證。
  • client_management :處理並發連接的新增和刪除,包括在刪除時執行斷開連接操作。
  • get_shallow :使用shallow=true從 REST GET 擷取資料。
  • get :處理 REST GET 操作。
  • listen :從連線的客戶端擷取ononce操作的初始資料。
  • on_disconnect :註冊與客戶端的斷開連線操作。
  • put :處理來自客戶端的set操作或 REST PUT 操作。
  • transaction :根據條件 REST 請求或來自客戶端的transaction操作執行事務。
  • update :處理update操作或 REST PATCH 請求。

監控雲端監控中的安全規則

您也可以分析安全規則的評估。請注意,所有指標類型名稱均以firebasedatabase.googleapis.com/為前綴。

指標名稱描述
規則評估rules/evaluation_count 。響應寫入或讀取請求而執行的即時資料庫規則評估的數量。您可以根據請求的結果(允許、拒絕或錯誤)細分此指標。

根據需要自訂規則評估的 Cloud Monitoring 圖表,例如透過篩選特定評估結果、允許、拒絕或錯誤。監控資料庫使用情況中介紹了設定和自訂圖表。

查看透過 Cloud Monitoring 提供的即時資料庫指標的完整清單