監控資料庫效能

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

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

使用 Realtime Database 監控工具

您可以透過幾種不同的工具收集Realtime Database的成效資料,視您需要的精細程度而定。

使用 Realtime Database 分析工具

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

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

使用 Firebase 控制台

Firebase控制台的「用量」分頁會提供資料庫的並行連線數、儲存的資料量、輸出頻寬 (包括通訊協定和加密負荷),以及資料庫的負載 (以 1 分鐘為單位)。「用量」分頁提供資料庫整體效能的更準確總覽,但您可能無法充分深入瞭解,以排解潛在的效能問題。

使用Cloud Monitoring

透過 Cloud MonitoringGoogle Cloud,您可以使用指標探索工具查看個別成效指標,或建立不同的資訊主頁,並在圖表中顯示一段時間內各種成效指標的組合。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 指標完整清單,請參閱這篇文章