Fix: Dramatic slowdown when running the NodeInformationRetrievalJob

This commit is contained in:
baldo 2016-07-29 12:58:03 +02:00
parent c2cea8626f
commit 7677aad10a

View file

@ -22,7 +22,6 @@ angular.module('ffffng')
) { ) {
var MONITORING_STATE_MACS_CHUNK_SIZE = 100; var MONITORING_STATE_MACS_CHUNK_SIZE = 100;
var MONITORING_MAILS_DB_BATCH_SIZE = 50; var MONITORING_MAILS_DB_BATCH_SIZE = 50;
var MONITORING_MAX_PARALLEL_NODE_IMPORTS = 20;
var MONITORING_OFFLINE_MAILS_SCHEDULE = { var MONITORING_OFFLINE_MAILS_SCHEDULE = {
1: { amount: 3, unit: 'hours' }, 1: { amount: 3, unit: 'hours' },
2: { amount: 1, unit: 'days' }, 2: { amount: 1, unit: 'days' },
@ -532,9 +531,10 @@ angular.module('ffffng')
} }
previousImportTimestamp = data.importTimestamp; previousImportTimestamp = data.importTimestamp;
async.eachLimit( // We do not parallelize here as the sqlite will start slowing down and blocking with too many
// parallel queries. This has resulted in blocking other requests too and thus in a major slowdonw.
async.eachSeries(
data.nodes, data.nodes,
MONITORING_MAX_PARALLEL_NODE_IMPORTS,
function (nodeData, nodeCallback) { function (nodeData, nodeCallback) {
Logger.tag('monitoring', 'information-retrieval').debug('Importing: %s', nodeData.mac); Logger.tag('monitoring', 'information-retrieval').debug('Importing: %s', nodeData.mac);