gpt4 book ai didi

javascript - Node.js 对于文件上传(以及所有基于事件循环的语言)来说不是一个好的选择 - 这是真的吗?

转载 作者:太空宇宙 更新时间:2023-11-04 00:45:38 25 4
gpt4 key购买 nike

据说不建议使用 Node.js 进行文件上传,因为它会阻塞 IO 循环直到完成,所以我尝试流式上传许多并发文件,我发现 Sails.js (包装在express和 Node )将第一个、第二个、第三个......的 block 上传到第N个 uploader ,然后再次返回到第一个 uploader 以循环方式获取下一个 block ,结果是:所有文件上传几乎在第一个 uploader 完成同时以类似于上传一个大文件的方式,其大小等于并发上传文件的总大小。

我最终得出的结论是,高命中率的文件上传系统不应该由采用IO事件循环技术的语言来设计,而是每个连接的上传客户端应该在服务器上有自己的线程以实现适当的分离不同上传之间以及服务器内存大小和客户端数量之间存在线性关系。

我在这里得出了正确的结论,还是我误解了什么?

最佳答案

你的结论

each connected uploading client shall have its own thread on the server to achieve the proper separation between different uploads

这是不对的,因为进程中的每个线程都会消耗资源用于内存管理、线程切换等。因此,在具有无限线程的线程环境中构建命中率文件上传将无法扩展。当在 Node.js 中使用基于流的上传解决方案时,与其他语言/平台相比,应用程序的内存占用和性能应该具有相当的竞争力。

关于javascript - Node.js 对于文件上传(以及所有基于事件循环的语言)来说不是一个好的选择 - 这是真的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34874511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com