有幾種不同的方法可以監控 Firebase 實時數據庫的性能並發現應用中的潛在問題。查看您的應用程序的傳入和傳出帶寬和負載也可以讓您了解賬單上的預期內容。此外,如果出現問題,清楚地了解數據庫的操作情況可能是一種有用的故障排除工具。
本頁討論實時數據庫性能監控。有關使用情況監控,請參閱監控數據庫使用情況。
使用實時數據庫監控工具
您可以通過幾種不同的工具收集有關實時數據庫性能的數據,具體取決於您需要的粒度級別。
使用實時數據庫分析器工具
實時數據庫分析器工具提供了對數據庫讀/寫操作的實時概覽。該報告包括有關每個操作的速度和負載大小的信息,以及未索引的查詢。但是,它不包括歷史信息或有關連接開銷的任何統計數據,並且不應用於估算計費成本。
要了解有關使用分析器工具的更多信息,請參閱分析您的數據庫。
使用 Firebase 控制台
Firebase 控制台中的“使用情況”選項卡提供有關數據庫的同時連接、存儲的數據量、傳出帶寬(包括協議和加密開銷)以及 1 分鐘間隔內的數據庫負載的信息。雖然“使用情況”選項卡可以讓您更準確地了解數據庫的整體性能,但您可能無法深入挖掘以解決潛在的性能問題。
使用雲監控
借助 Google Cloud 的 Cloud Monitoring,您可以使用 Metrics Explorer 查看各個性能指標,或使用圖表創建不同的儀表板,這些圖表隨時間推移顯示性能指標的各種組合。實時數據庫與 Cloud Monitoring 的集成提供了最深層次的粒度。
監控數據庫使用情況中描述了設置 Cloud Monitoring 的步驟。
有關使用特定 Cloud Monitoring 指標發現性能問題的提示,請參閱以下部分。
在雲監控中監控性能
如果您遇到性能問題,包括正常運行時間或延遲,您可能需要使用 Cloud Monitoring 來監控以下指標。請注意,所有指標類型名稱都以firebasedatabase.googleapis.com/
為前綴。
指標名稱 | 描述 |
---|---|
數據庫負載 |
|
因超額停用網絡 |
|
因超額而禁用存儲 |
|
結合儀表板上圖表中的指標以獲得有用的見解和概述。例如,嘗試以下組合:
- 操作:使用
io/database_load
指標查看每種操作類型使用了總數據庫負載的多少。確保按類型對io/database_load
進行分組,以解決不同的操作類型。 - 存儲:使用
storage/limit
和storage/total_bytes
來監控與實時數據庫存儲限制相關的存儲利用率。您還可以添加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 設置警報並接收基於實時數據庫指標的通知。例如,您可以選擇在您的io/database_load
接近某個閾值時接收通知。
查看通過 Cloud Monitoring 提供的實時數據庫指標的完整列表。
數據庫負載類型
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 請求。
雲監控監控安全規則
您還可以分析安全規則的評估。請注意,所有指標類型名稱都以firebasedatabase.googleapis.com/
為前綴。
指標名稱 | 描述 |
---|---|
規則評估 | rules/evaluation_count 。為響應寫入或讀取請求而執行的實時數據庫規則評估次數。您可以按請求的結果(ALLOW、DENY 或 ERROR)細分此指標。 |
根據需要為規則評估定制 Cloud Monitoring 圖表,例如通過過濾特定評估結果、ALLOW、DENY 或 ERROR。 Monitor Database Usage中介紹了設置和自定義圖表。