首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >NodeJS上传文件100% cpu使用率

NodeJS上传文件100% cpu使用率
EN

Stack Overflow用户
提问于 2015-02-05 09:51:52
回答 1查看 2.2K关注 0票数 3

我尝试过两个不同的库:穆特令人畏惧用于处理节点中的文件上载,它们在上传过程中都使用100%的CPU。

这是一个常见的节点问题吗?以及人们如何在高并发环境中处理这个问题?

节点版本:v0.10.36 (我甚至尝试过其他版本,如v0.11.x或v0.10.33)

强大的示例

代码语言:javascript
运行
复制
Picture.upload = function(user, req, cb) {
    var formidable = require('formidable')

    var form = new formidable.IncomingForm();
    form.uploadDir = "./uploads";
    form.maxFieldsSize = app.settings.uploadMaxSize * 1024 * 1024;
    form.maxFields = 1000;

    form.parse(req, function(err, fields, files) {
        cb(null, files);
    });
}

Multer示例

代码语言:javascript
运行
复制
app.use(multer({ dest: './uploads/',
    rename: function (fieldname, filename) {
       return filename+Date.now();
    },
    limits: {
       files: 1,
       fileSize: app.settings.uploadMaxSize * 1024 * 1024
    }
})); // after I process the file from req.files

文件以multipart/form-data的形式上载。

我正在使用环回,但我不认为这有什么区别。

EN

回答 1

Stack Overflow用户

发布于 2015-02-12 14:02:35

在一个高度并发的环境中,如果一个任务使cpu达到100%,可悲的是,节点将区块。我认为上传文件与提供静态资产意味着相同的事情。关于nodejs如何不适合服务静态内容,这里有很多讨论。使用nginx或apache代替。

另一种解决方案是将上载委托给工作进程或队列系统。例如,请参见ZMQ

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28340825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档