diff --git a/src/storage/caas.js b/src/storage/caas.js index ff5ec3ae8..c6e0d8e19 100644 --- a/src/storage/caas.js +++ b/src/storage/caas.js @@ -82,7 +82,8 @@ function backup(apiConfig, backupId, sourceDirectories, callback) { }; var s3 = new AWS.S3(credentials); - s3.upload(params, function (error) { + // s3.upload automatically does a multi-part upload. we set queueSize to 1 to reduce memory usage + s3.upload(params, { partSize: 10 * 1024 * 1024, queueSize: 1 }, function (error) { if (error) { debug('[%s] backup: s3 upload error.', backupId, error); return callback(new BackupsError(BackupsError.EXTERNAL_ERROR, error)); diff --git a/src/storage/s3.js b/src/storage/s3.js index 8b25c8458..f29952819 100644 --- a/src/storage/s3.js +++ b/src/storage/s3.js @@ -89,7 +89,8 @@ function backup(apiConfig, backupId, sourceDirectories, callback) { }; var s3 = new AWS.S3(credentials); - s3.upload(params, function (error) { + // s3.upload automatically does a multi-part upload. we set queueSize to 1 to reduce memory usage + s3.upload(params, { partSize: 10 * 1024 * 1024, queueSize: 1 }, function (error) { if (error) { debug('[%s] backup: s3 upload error.', backupId, error); return callback(new BackupsError(BackupsError.EXTERNAL_ERROR, error.message));