Firebase 會針對您儲存在資料庫和所有傳出網路的資料收費 OSI 模型工作階段層 (第 5 層) 的流量。儲存空間費用 每 GB 每月 $5 美元,每日評估時間。帳單不會受到地區影響 備用資源數量傳出流量包括連線和加密負擔 讀取來自所有資料庫作業與透過資料庫讀取下載的資料。兩者皆有 資料庫讀取和寫入可能導致連線費用增加。所有語言 傳入及傳出資料庫的流量,包括遭安全性拒絕的作業 就會產生可結算費用
常見的計費流量範例如下:
- 已下載的資料:當用戶端從你的資料庫取得資料時,Firebase 且會根據下載的資料收費這通常等於 這並不是帳單的唯一因素。
- 通訊協定負荷:伺服器和用戶端之間的一些額外流量 建立及維護工作階段時,視基礎系統的 這類流量可能包括 Firebase 即時資料庫的即時資料 通訊協定負擔、WebSocket 負擔和 HTTP 標頭負擔。每當 這樣連線,並結合了任何 SSL 加密機制,所產生的負擔 系統也會增加連線費用雖然這不太適合 可能會佔用大量頻寬 適合自己的酬載
- SSL 加密負擔:使用 SSL 須支付相關費用 安全連線所需的加密負擔平均來說 初始握手約為 3.5 KB, 每封外寄郵件的 TLS 記錄標頭位元組。對大多數應用程式來說,這個引數是 只有一小部分帳單金額不過,這可能會 若有大量的 SSL 交握行為,例如裝置 不支援傳輸層安全標準 (TLS) 工作階段票證 可能需要大量的 SSL 連線握手
- Firebase 控制台資料:雖然這通常不是 的 Realtime Database 費用,Firebase 會根據您讀取的資料 從 Firebase 控制台寫入
估算計費用量
如要查看你目前的「Realtime Database」連線和數據用量,請參閱 用法 分頁 (位於 Firebase控制台內)。你可以查看目前帳單的用量 過去 30 天或過去 24 小時的資料
Firebase 會顯示下列指標的使用統計資料:
- 連線數:同時開啟、目前開啟和即時的連線數量 連線至資料庫這包括下列即時 連線:WebSocket、長輪詢和 HTML 伺服器傳送事件。會 不包含符合 REST 樣式的要求。
- 儲存空間:資料庫中儲存的資料量。這類內容不包括 Firebase 託管或透過其他 Firebase 產品儲存的資料。
- 下載:從資料庫下載的所有位元組,包括通訊協定 和加密負擔
- 載入:這張圖表顯示了資料庫正在使用及處理的比例 會以指定 1 分鐘為間隔系統可能會列出效能問題 接近 100% 的目標
最佳化用量
以下提供幾種最佳做法,方便您對資料庫用量進行最佳化 而非頻寬費用
- 使用原生 SDK:請盡可能使用與 評估應用程式的平台,而不是 REST API。SDK 維護中 連線,從而降低一般增加的 SSL 加密成本 呼叫 REST API
- 檢查是否有錯誤:如果頻寬費用超出預期,請確認 您的應用程式同步處理資料或同步處理的頻率比您低 而非偏誤。如要找出問題,請使用分析器工具, 評估讀取作業,並在 Android、 Objective-C、 和網站 透過筆記本工具 Vertex AI Workbench 您能使用 SDK 定義自己的管線檢查應用程式的背景和同步處理程序,確保 確保一切運作正常
- 減少連線:可能的話,請嘗試最佳化連線 頻寬。頻繁、小型 REST 要求的費用,可能比單一要求、 原生 SDK 持續提供連線如果您使用 REST API 建議您使用 HTTP 保持運作 來降低 SSL 握手的成本。
- 使用 TLS 工作階段票證:降低重新啟用的 SSL 加密負擔成本 連線方式 傳輸層安全標準 (TLS) 工作階段票券。 如果您需要頻繁且安全的連線,這個做法特別實用 並將結果傳送至資料庫
- 索引查詢: 建立資料索引 降低查詢總頻寬,即可享有雙倍優勢 ,降低費用並增加資料庫效能。使用 分析器工具找出未建立索引的查詢, 資料庫。
- 最佳化事件監聽器:新增查詢來限制監聽的資料
作業會傳回並使用只會下載資料更新的事件監聽器。
例如
on()
而非once()
此外,請將事件監聽器放在 ,並限制同步處理的資料量。 - 降低儲存空間費用:定期執行清除工作,減少任何重複項目 儲存資料庫內的資料
- 使用規則:防止任何費用高昂且未經授權的操作 資料庫。舉例來說,使用 Firebase Realtime Database Security Rules 可避免以下情況 惡意使用者重複下載整個資料庫。 進一步瞭解 使用 Firebase 即時資料庫規則。
根據您的特定用途,最適合的應用程式最佳化計畫會有所不同。 以上僅列出部分最佳做法,如需 下載由 Firebase 專家提供的其他建議和訣竅 Slack 頻道 或 Stack Overflow 上,