当我同时上传超过 5 张照片(5 个多部分/表单数据请求)时,在其处理过程中,任何 GET 请求都有~500ms 延迟,任何 Socket.io 事件都有~1500ms 延迟。
这是正常的吗?我尝试使用Multer和Multiparty作为上传中间件,两者都给出了相同的延迟。
这些照片每张大约 5MB 大。上传期间节点进程的CPU使用率比平均水平提高约5%,内存使用率保持正常。
服务器:托管在 DigitalOcean 上。带有 1G RAM、1 核处理器、30G SSD 的 Ubuntu
有没有人经历过同样的事情?这是Multer的一个片段。我非常感谢您的帮助,我已经尝试解决这个问题 5 天了,但没有任何成功:(
function photoUpload(req, res, next){
dest: 'public/photos',
limits: { fileSize: 10*1000000 }, // 10MB file limit
onFileSizeLimit: function (file) { fs.unlink(file.path) },
onParseEnd: function (req, next) {
var file = req.files.photo;
file.url = '/photos/' + file.name; // save photo url
next();
}
}
app.post('/api/upload', photoUpload, function(req, res){
Database.createPhoto(req.file.url); // save photo url in database
});