Javascript NODEJS-如何通过在内存中保存缓冲区来提高性能

Javascript NODEJS-如何通过在内存中保存缓冲区来提高性能,javascript,node.js,performance,Javascript,Node.js,Performance,我正在尝试从node.js中的URL下载一些视频。我需要每个文件的缓冲区来发送到Web服务 不管怎样,我的记忆似乎被它消耗殆尽了。每个视频大约100米,进程使用的ram从90米到500米,然后再回到200米(好像GC没有清除缓冲区) 我的代码如下: request({ url: mediaURL, encoding: null }, (err, resp, bufferData) => { Logger.log(`Resolved buffer length: ${bufferDa

我正在尝试从node.js中的URL下载一些视频。我需要每个文件的缓冲区来发送到Web服务

不管怎样,我的记忆似乎被它消耗殆尽了。每个视频大约100米,进程使用的ram从90米到500米,然后再回到200米(好像GC没有清除缓冲区)

我的代码如下:

request({ url: mediaURL, encoding: null }, (err, resp, bufferData) => {
    Logger.log(`Resolved buffer length: ${bufferData.length}`);
    buffer = bufferData;
    resolve();
});
buffer = null;
我的变量缓冲区在函数内部声明(在顶部)。此外,当我不再需要缓冲区时,我会执行以下操作:

request({ url: mediaURL, encoding: null }, (err, resp, bufferData) => {
    Logger.log(`Resolved buffer length: ${bufferData.length}`);
    buffer = bufferData;
    resolve();
});
buffer = null;
但正如我所说,内存回到了200MB(而不是像最初的90M)

我做错了什么?有什么方法可以提高性能吗


谢谢

你能展示你所有的代码吗?为了保持低内存占用,你可以看看流,尤其是管道:如果你通读了你正在使用的HTTP库的文档(在你的例子中看起来像“请求”),您可以查找术语stream/pipe。谢谢@PhilippClaßen实际上我的问题是,我需要缓冲区将其发送到函数(需要缓冲区)。所以,它总是需要放在内存中,对吗?