对高度请求的队列进行Firebase优化

基于firebase的游戏,其中每个用户在同一个waitingList上推送一个请求,以便一个nodeJS服务器为每两个等待的玩家分别准备一个循环游戏。 我在nodeJS上使用Firebase JS v3:

var ref = firebase.database().ref(); //this is where we populate rounds var gamesRef = ref.child('games'); //users path var usersRef = ref.child('users'); //waiting queue var waitingRef = ref.child('waitingList'); //listen for each new queued user waitingRef.on('child_added', function(snap){ waitingRef.transaction(function(waitingList){ if(waitingList !== null){ var keys = Object.keys(waitingList); //take two players if(keys.length >= 2){ //prepare a new round for users var round = prepareNewRound(waitingList[keys[0]], waitingList[keys[1]]); //remove queued users from waitingList waitingList.child(keys[0]).remove(); waitingList.child(keys[1]).remove(); //create new game var roundKey = gamesRef.push(round).key; //notify users about the new game created users.child(waitingList[keys[0]]).child('current_round').set(roundKey); users.child(waitingList[keys[1]]).child('current_round').set(roundKey); } } }); }); 

用户对等待列表的要求很高,可能超过10K个同时实时用户。 这种方式的执行速度比Firebase队列快,但是在等待列表变得越来越长之前,每5分钟会有1分钟的重复性缓慢,之后才会变得正常。 有没有可以对这个概念进行优化?