मेरे पास हेरोोकू पर मेरे ऐप के साथ एक नोड कार्यकर्ता चल रहा है, जो मेरे फायरबेस डेटाबेस पर कुछ पथों को सुनता है। समस्या यह है कि इन पथों को सुनना बड़ी मात्रा में स्मृति लेता है।फायरबेस श्रोताओं मेमोरी की बड़ी मात्रा लेते हैं
setInterval =>
@ref.log_memory('Listener interval')
, 1000
@ref.firebaseClient.child('listings').on 'child_changed', (snap) =>
@ref.log('child_changed')
आउटपुट::
22:39:07 worker.1 | info: Memory: 35mb total - 66mb rss - 23mb heapUsed
22:39:08 worker.1 | info: Memory: 36mb total - 67mb rss - 18mb heapUsed
22:39:09 worker.1 | info: Memory: 37mb total - 69mb rss - 23mb heapUsed
22:39:10 worker.1 | info: Memory: 54mb total - 72mb rss - 25mb heapUsed
22:39:11 worker.1 | info: Memory: 54mb total - 82mb rss - 33mb heapUsed
22:39:13 worker.1 | info: Memory: 147mb total - 186mb rss - 94mb heapUsed
22:39:14 worker.1 | info: Memory: 147mb total - 186mb rss - 94mb heapUsed
22:39:15 worker.1 | info: Memory: 147mb total - 186mb rss - 94mb heapUsed
22:39:15 worker.1 | info: child_changed
22:39:16 worker.1 | info: Memory: 147mb total - 186mb rss - 95mb heapUsed
22:39:17 worker.1 | info: Memory: 147mb total - 186mb rss - 95mb heapUsed
अगर यह सामान्य है कि अगर मैं उस में 13000 आइटम के साथ नीचे एक तरह एक रास्ते पर हुए परिवर्तनों पर ध्यान, अगर मेरे Heroku सर्वर पर कुल स्मृति के 147mb तक ले जाता है फायरबेस उस पथ के लिए इतनी मेमोरी लेगा जो इसे सुनता है? क्या ऐसा इसलिए है क्योंकि यह पथ में सभी वस्तुओं को लाता है और प्रत्येक आइटम को सुनता है? क्या इसके आसपास पाने के लिए कोई रास्ता नहीं है?
त्वरित उत्तर के लिए धन्यवाद। तो मुझे लगता है कि जवाब यह है कि आपके फायरबेस डेटाबेस पर बड़ी मात्रा में डेटा सुनने के लिए एक बुरा विचार है? मैं ऐसा कर रहा हूं क्योंकि मुझे अपने फायरबेस डेटा के कुछ हिस्सों को अल्गोलिया के साथ समन्वयित करने की आवश्यकता है जैसे वे यहां कर रहे हैं - http://scottksmith.com/blog/2014/12/09/algolia-real-time-search साथ-साथ फायरबेस/- जहां वे एक निश्चित पथ पर सुन रहे हैं और अल्गोलिया को सिंक कर रहे हैं। तो यह करने का तरीका नहीं है? –
कुछ 10K आइटम शायद ही कभी फ़ायरबेस सर्वर पर एक समस्या होगी, लेकिन स्पष्ट रूप से आपके Heroku सर्वर में स्मृति उपयोग के साथ कोई समस्या है। यह सब आपके उपयोग-मामले पर निर्भर करता है, यही कारण है कि मैं वर्णन करना पसंद करता हूं कि चीजें कैसे काम करती हैं। –