问题说明
我有一个云功能,充当从另一台服务器获取数据的API。 假设服务器x从MSSQL数据库中读取一些数据,并在一个请求中将1000条记录发送到我的解析服务器API(例如:13个调用13000条记录)。 每次调用该API时,Parse.Object.saveAll()都会花费更长的时间。
云代码
console.log("A");
let A = new Date();
console.log(A);
for (let i = 0; i < 1000; i++) {
const ScoreLog = Parse.Object.extend("ScoreLog");
let scoreLog = new ScoreLog();
scoreLog.set("type", 0);
scoreLog.set("cId", PARAMS.scoreLogs[i].CustomerID.toString());
scoreLog.set("score", PARAMS.scoreLogs[i].Credit);
scoreLog.set("logAt", new Date(PARAMS.scoreLogs[i].TRBusinessDayDate));
scoreLog.set("sNum", PARAMS.scoreLogs[i].SequenceNumer);
scoreLogs.push(scoreLog);
}
console.log("B");
let B = new Date();
console.log(B - A);
await Parse.Object.saveAll(scoreLogs);
console.log("C");
let C = new Date();
console.log(C - B);
预期结果
保存每组1000条记录花费的时间相同
实际结果
保存时间随请求数量而增加
环境设置
Server
parse-server version ): 3.9.0
Operating System: ubuntu 18.04
Hardware: CPU intel corei7, RAM 16 g DDR4
Localhost or remote server? : localhost
Database
MongoDB version: v4.2.0
Storage engine: wiredTiger
Hardware: CPU intel corei7, RAM 16 g DDR4
Localhost or remote server? : localhost