通过NodeJS在stream式响应上的内存使用率高

我在通过节点代理传输xlsx文件时遇到了问题,因为它耗费了大量的内存。 从Java服务接收到响应时,文件大小约为11MB,但占用大约700MB的内存。 我不确定是什么原因造成的,因为我所做的只是直接通过pipe道响应,如下所示:

var express = require('express'); var app = express(); var request = require('request'); app.all('/api/*', function (req, res) { var options = transformRequest(req); var method = req.method.toLowerCase(); request[method](options) .on('response', function (response) { logger.info('method=' + method, 'nodeEndpoint=' + req.originalUrl, 'mappedServiceUrl=' + options.url, 'responseStatusCode=' + response.statusCode); res.writeHead(response.statusCode, response.headers); if (response.statusCode > 399) { logger.error(method, options.url, response.statusCode); } }) .on('error', function (err) { handleError(err, res); }) .pipe(res); }); 

有没有这样的事情,或者这是一个很小的文件如此高的内存使用情况是正常的?