我想計算firebase中的消息大小,以便準確估計我的應用程序的成本。計算firebase消息大小
我注意到運行時實時數據庫計算器顯示的數據大小比預期的大。爲了驗證這一點,我啓動了一個名爲「測試」數據的單一裁判玩具應用:
{"foo": "bar"}
你打算在其他的答案,我的估計是,這個數據是根據20個字節。
與此代碼檢索數據:
firebase.database().ref("test").once("value", function(snapshot) {
console.log(snapshot.val());
});
這裏是一個jsfiddle showing this toy example。
我抓住ref和console.log的數據。我已經訪問了10次這個例子。當我查看玩具應用程序的實時數據庫使用情況標籤時,它顯示了使用30KB帶寬的情況。
正在發送什麼其他數據來解決預期數據使用量(10 * 20字節= 200字節)與實際發送的30KB之間的這種巨大差距?
當初始化添加到數據使用情況的應用程序時是否有一些初始開銷?
編輯:
繼cartant的建議,我登錄從WebSocket的發送幀。以下是我發現(在此之前我看到大約200字節的一些初始化消息):
Data Length
{"t":"d","d":{"r":22,"a":"q","b":{"p":"/test","h":""}}} 55
{"t":"d","d":{"b":{"p":"test","d":{"foo":"bar"}},"a":"d"}} 58
{"t":"d","d":{"r":23,"a":"n","b":{"p":"/test"}}} 48
{"t":"d","d":{"r":22,"b":{"s":"ok","d":{}}}} 44
{"t":"d","d":{"r":23,"b":{"s":"ok","d":""}}} 44
所以好像有任何消息了〜200-250字節的開銷。任何人都可以確認嗎?這仍然不能完全解釋我之前提到的差距(10條消息* 250字節= 2.5 KB,相對於30 KB記錄)。
UPDATE:
當前的帶寬使用率高達155 KB。我不確定在這篇文章中35位觀衆如何獲得這個數字。爲了想方設法把這種感覺(我現在還不能確定帶寬實際上是如何計算的),這裏是我的想法:
200 bytes to initialize/connect
220 bytes per message (200 bytes of overhead + 20 bytes in message)
100 times sent (this is probably an overestimate, as there are 35 views on this post, but I have viewed it around 10 times myself)
(200 bytes + 220 bytes) * 100 views = 42000 bytes or 42 KB.
所以去155 KB要麼這是多發的100倍以上,或者有一些無法解釋的開銷。另外,我假設(我不知道)初始化的開銷是200字節,發送任何消息的開銷是200字節。
如果您使用的是Chrome,您可以使用開發工具觀察實際的websocket流量。你可能會覺得它很有用。 – cartant
是的,我們有同樣的問題:http://stackoverflow.com/questions/41471842/why-does-the-firebase-bandwidth-keep-increasing-for-no-reason?noredirect=1#comment70152399_41471842 – Coder1000
同樣的問題在這裏以及:http://stackoverflow.com/questions/38959321/firebase-database-bandwidth-usage-growing-rapidly-even-when-when-the-database-is?rq=1 – shell