Загрузка файлов на S3 через multer-s3 в моем экспресс-приложении смехотворно медленна (200 КБ занимает 10 секунд, время задержки зависит от размера файла). Проблема в multer-s3, но кто-то может сказать, как дальше отлаживать то, что происходит внутри библиотеки? Передача onFileUploadStart и т. Д. В multer больше не поддерживается. Я понятия не имею, как достичь пика внутри того, что делает multer-s3 и на каких стадиях возникает задержка.
Проблема не в AWS S3, поскольку загрузка из CLI выполняется очень быстро, и при этом загрузка не происходит, поскольку загрузка на локальный диск также быстрая. Любые прямые операции JavaScript S3 также работают так быстро, как и предполагалось.
Пробовал отключить функцию автоматического ввода контента мультитера, но это не помогло.
var upload = multer({
storage: multerS3({
s3: s3,
bucket: bucketName,
acl: 'public-read',
contentType: multerS3.AUTO_CONTENT_TYPE,
metadata: function (req, file, cb) {
cb(null, {fieldName: file.fieldname});
},
key: function (req, file, cb) {
cb(null, Date.now().toString() + "-" + file.originalname);
}
},)
})
router.post('/', upload.array('files'), function(req, res, next) {
console.log('Successfully uploaded ' + req.files.length + ' files!');
});
Want to have sub-second latency as I do with direct AWS CLI upload or using multer to store to local disk, takes 10 seconds to minute or more on sub-MB files.