栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

NodeJS通过流复制文件非常慢

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

NodeJS通过流复制文件非常慢

我不知道您问题的答案,但这也许有助于您调查问题。

在有关流缓冲的Node.js文档中,它说:

两者可写和可读流将在可以使用被检索的内部缓冲器中的数据存储

writable.writableBuffer

readable.readableBuffer
分别。

可能缓冲的数据量取决于

highWaterMark
传递到流的构造函数中的选项。对于普通流,该
highWaterMark
选项指定字节总数。对于以对象模式运行的流,
highWaterMark
指定了对象的总数。

stream
API的主要目标(特别是stream.pipe()方法)是将数据缓冲限制在可接受的水平,以使速度不同的源和目标不会占用可用内存。

来源:http:
//www.nodejs.org/api/stream.html#stream_buffering

因此,您可以使用缓冲区大小来提高速度:

var fs = require('fs');var path = require('path');var from = path.normalize(process.argv[2]);var to = path.normalize(process.argv[3]);var readOpts = {highWaterMark: Math.pow(2,16)};  // 65536var writeOpts = {highWaterMark: Math.pow(2,16)}; // 65536var source = fs.createReadStream(from, readOpts);var destiny = fs.createWriteStream(to, writeOpts)source.pipe(destiny);

https://nodejs.org/api/stream.html#stream_writable_writablehighwatermark

https://nodejs.org/api/stream.html#stream_可读_可读highwatermark

https://nodejs.org/api/fs.html#fs_fs_createreadstream_path_options



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/387494.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号