監控數據庫性能

透過集合功能整理內容 你可以依據偏好儲存及分類內容。

有幾種不同的方法可以監控 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 。為響應寫入或讀取請求而執行的實時數據庫規則評估次數。您可以按請求的結果(ALLOW、DENY 或 ERROR)細分此指標。

根據需要為規則評估定制 Cloud Monitoring 圖表,例如通過過濾特定評估結果、ALLOW、DENY 或 ERROR。 Monitor Database Usage中介紹了設置和自定義圖表。

查看通過 Cloud Monitoring 提供的實時數據庫指標的完整列表