Azure 持久功能性能问题
下面是我的编曲代码,我使用的是链接和扇入/扇出的组合Azure 持久功能性能问题,azure,azure-functions,azure-durable-functions,Azure,Azure Functions,Azure Durable Functions,下面是我的编曲代码,我使用的是链接和扇入/扇出的组合 const df = require("durable-functions"); const geocodeActivity = "getActualData"; const getDataActivity = "getDataFromDB"; const ld = require('lodash') module.exports = df.orchestrator(function* (context) { const outpu
const df = require("durable-functions");
const geocodeActivity = "getActualData";
const getDataActivity = "getDataFromDB";
const ld = require('lodash')
module.exports = df.orchestrator(function* (context) {
const outputs = [];
const parallelTasks = [];
try {
let payload = context.bindingData.input;
payload.dataType = "truth";
let truthData = yield context.df.callActivity(getDataActivity, payload);
for (const data of truthData) {
const truthDataObj = payload;
truthDataObj.data = data;
//console.log("ORCHESTRATOR: " + JSON.stringify(truthDataObj));
parallelTasks.push(context.df.callActivity(geocodeActivity, ld.cloneDeep(truthDataObj)));
}
let actualData = yield context.df.Task.all(parallelTasks);
let uploadDataInfo = payload;
uploadDataInfo['actual_data'] = actualData;
let uploadedCsv = yield context.df.callActivity("uploadActualData", uploadDataInfo);
if (uploadedCsv == false || uploadedCsv == null || uploadedCsv === undefined) {
outputs.push("failed");
} else {
outputs.push(uploadedCsv);
}
} catch (err) {
context.log(JSON.stringify(err));
outputs.push('-1');
}
return outputs;
我有以下观察结果
很多时候,编辑者总是在运行中陷入困境
为getDataActivity调用的第一个活动从DB返回记录,行数最多可达百万,每行包含至少20列
然后,我循环浏览每个记录并执行一些操作
但我已经观察到很多次,它在运行时遇到问题,或者有时候运行orchestrator的服务器会重新启动
这是否与从“GetDataActivity”返回的大量数据有关?
如果是,您的建议是什么?我如何解决此问题?此错误来自内存不足。堆内存消耗超过限制,JavaScript会使进程崩溃。要将其设置得更高,可以使用
--max old space size
。但不要设置得太高,因为这会导致系统内存不足
的使用--旧空间的最大大小
:
node --max-old-space-size=4096 index.js
此外,我还可以看到以下错误-我终于可以看到以下错误致命错误:调用和重试\u上次分配失败-JavaScript内存不足如何修复此问题?您使用哪种技术堆栈?您的JavaScript版本是什么?请显示有关问题的更多详细信息。这将有助于解决这个问题。