Node.js 通过NodeJS的流式响应的高内存使用率

Node.js 通过NodeJS的流式响应的高内存使用率,node.js,express,Node.js,Express,我在通过节点代理传输xlsx文件时遇到了一个问题,因为它消耗了大量内存。该文件大约11MB大,但当从Java服务接收响应时,会占用大约700MB的内存。我不确定是什么导致了这种情况,因为我所做的只是直接通过管道传递响应,如下所示: var express = require('express'); var app = express(); var request = require('request'); app.all('/api/*', function (req, res) {

我在通过节点代理传输xlsx文件时遇到了一个问题,因为它消耗了大量内存。该文件大约11MB大,但当从Java服务接收响应时,会占用大约700MB的内存。我不确定是什么导致了这种情况,因为我所做的只是直接通过管道传递响应,如下所示:

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);
});
这样一个小文件的内存占用率如此之高,这是正常现象吗