मैं अपने ऐप की लागत का सटीक अनुमान लगाने के लिए फायरबेस में संदेशों के आकार की गणना करने की कोशिश कर रहा हूं।कंप्यूटिंग फ़ायरबेस संदेश आकार
मैंने देखा कि रीयलटाइम डेटाबेस कैलक्यूलेटर अपेक्षित डेटा आकारों से बड़ा दिखा रहा था। इसे प्रमाणित करने के, मैं एक खिलौना आवेदन डेटा के साथ "परीक्षण" नामक केवल एक रेफरी है कि शुरू कर दिया:
{"foo": "bar"}
अन्य उत्तर पर जा रहे हैं, मेरे अनुमान इस डेटा 20 बाइट्स से कम है।
इस कोड के साथ डेटा प्राप्त कर रहा है:
firebase.database().ref("test").once("value", function(snapshot) {
console.log(snapshot.val());
});
यहाँ एक jsfiddle showing this toy example है।
मैं डेटा को रेफरी और console.log पकड़ता हूं। मैंने इस उदाहरण को 10 बार से कम किया है। जब मैं खिलौना एप्लिकेशन के रीयलटाइम डेटाबेस उपयोग टैब को देखता हूं, तो यह 30KB बैंडविड्थ की तरह कुछ दिखाता है।
अपेक्षित डेटा उपयोग (10 * 20 बाइट्स = 200 बाइट्स) में इस बड़े अंतर के लिए खाते में कौन सा अन्य डेटा भेजा जा रहा है, वास्तविक 30 केबी भेजा गया है?
क्या डेटा प्रारंभ में जोड़े जाने वाले ऐप को प्रारंभ करते समय कुछ प्रारंभिक ओवरहेड है?
संपादित करें:
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 केबी बनाम 30 केबी)।
अद्यतन:
वर्तमान बैंडविड्थ उपयोग 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 बाइट्स है।
यदि आप क्रोम का उपयोग कर रहे हैं, तो आप देव उपकरण का उपयोग कर वास्तविक वेबसाइकिल यातायात देख सकते हैं। आपको यह उपयोगी लगेगा। – 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-the-database-is?rq=1 – shell