Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Firebase管理SDK(nodejs)-实时数据库.update()在大循环中失败_Node.js_Firebase_Firebase Realtime Database_Firebase Admin - Fatal编程技术网

Node.js Firebase管理SDK(nodejs)-实时数据库.update()在大循环中失败

Node.js Firebase管理SDK(nodejs)-实时数据库.update()在大循环中失败,node.js,firebase,firebase-realtime-database,firebase-admin,Node.js,Firebase,Firebase Realtime Database,Firebase Admin,我正在尝试使用admin SDK快速调用ref上的.update——至少每秒500多次。它运行约10-20秒,然后在大约30000次写入时(无具体数字),nodejs服务器完全锁定。添加调试不会显示任何真实的信息,除了在某一点上服务器响应不能跟上请求。这是一种致命的情况,将CPU锁定在100%,需要重新启动应用程序 奇怪的是,调用.set()我无法让它以同样的方式锁定。它将永远没有问题;然而,这显然没有那么有效,因此我在RTB上达到了100%的负载 我已经在水平伸缩,这很好,如果管道不够大,我很

我正在尝试使用admin SDK快速调用ref上的
.update
——至少每秒500多次。它运行约10-20秒,然后在大约30000次写入时(无具体数字),nodejs服务器完全锁定。添加调试不会显示任何真实的信息,除了在某一点上服务器响应不能跟上请求。这是一种致命的情况,将CPU锁定在100%,需要重新启动应用程序

奇怪的是,调用
.set()
我无法让它以同样的方式锁定。它将永远没有问题;然而,这显然没有那么有效,因此我在RTB上达到了100%的负载

我已经在水平伸缩,这很好,如果管道不够大,我很乐意伸缩。但我不能应付致命的封锁

有人能告诉我为什么这些方法表现不同吗?如果可能的话,我更愿意使用
update()
。我甚至不需要等待服务器响应,所以RESTAPI中存在的静默更新非常好,但我认为本机SDK中不存在这种情况

db.ref(loc.set)(数据)
可以永远在一个大循环中运行,但效率低下,并且会导致更高的RTB负载

db.ref(loc).更新(数据)更高效的更新,但最终会失败并锁定整个应用程序