作者:平凡小店88 | 来源:互联网 | 2023-05-19 13:09
IhaveanodeworkerrunningalongsidemyapponHeroku,thatlistensoncertainpathsonmyFireba
I have a node worker running along side my app on Heroku, that listens on certain paths on my Firebase database. Issue is that listening to these paths seem to take up a huge amount of memory. If I listen for changes on a path like the one below with 13000 items in it, if takes up 147mb of total memory on my Heroku server:
我有一个节点工作者在Heroku的应用程序旁边运行,它可以侦听Firebase数据库上的某些路径。问题是听这些路径似乎占用了大量的内存。如果我在其中的13000个项目的路径上侦听更改,如果我的Heroku服务器占用总内存的147mb:
setInterval =>
@ref.log_memory('Listener interval')
, 1000
@ref.firebaseClient.child('listings').on 'child_changed', (snap) =>
@ref.log('child_changed')
Output:
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
If it normal that Firebase would take up so much memory for a path it listens to? Is it because it fetches all the items in the path and listens to each item? Is there any way to get around this?
如果Firebase会为它所侦听的路径占用如此多的内存,这是正常的吗?是因为它获取路径中的所有项目并侦听每个项目?有没有办法解决这个问题?
1 个解决方案