无法流式传输大文件

Sanka darshana

我有2个节点js服务器A和B,其中A连接到B以获取文件(大文件)。这是我用来处理流的代码。

        var downloadedAmount = 0;
        stream.on('data', function (data) {
            if (Buffer.isBuffer(data)) {
                downloadedAmount += data.toString('utf8').length;
            } else {
                downloadedAmount += data.length;
            }
            if (!res.write(data)) {
                stream.pause();
            }
        });
        res.on('finish', function () {
            console.log("Finish called");
            sendUsage(reqId, downloadedAmount); // this is a async db/network call
        });
        stream.on("end", function () {
            console.log("End called");
            res.end();
        });
        res.on("drain", function () {
            stream.resume();
        });

当仅下载一个文件时,它将下载文件。我的问题是当我尝试下载多个文件(大于300MB)时,这增加了服务器的负载,连接在B处关闭,所有文件在124MB处停止。谁能告诉我我在做什么错?

更新:问题出在B服务器中,因为直接多次下载(从浏览器请求)也趋于停止在124MB左右。

Sanka darshana

行。问题似乎完全在另一个位置。我更改了Apache服务器设置(B服务器用来将文件获取到

EnableSendfile On

现在可以了。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

流式传输大文件的 WCF 超时异常

来自分类Dev

从 http 服务流式传输大文件

来自分类Dev

asp.net core 3.1流式传输大文件-无法阻止模型绑定

来自分类Dev

Google Drive PHP API-如何流式传输大文件

来自分类Dev

30秒超时后,从Heroku流式传输大文件失败

来自分类Dev

如何将几个大文件流式传输到码头

来自分类Dev

Django Filewrapper 内存错误服务大文件,如何流式传输

来自分类Dev

无法删除创建和流式传输的文件

来自分类Dev

从文件流式传输数字

来自分类Dev

将大文件流式传输到数据库BLOB字段中

来自分类Dev

使用WebAPI流式传输大文件(在IIS上大于2GB)

来自分类Dev

通过Python客户端将POST流式传输大文件到CherryPy

来自分类Dev

将大文件流式传输到数据库BLOB字段中

来自分类Dev

Python 请求无法流式传输 utf-8 编码文件

来自分类Dev

无法使用请求从 Amazon s3 流式传输文件

来自分类Dev

无法使用C#NetworkStream传输大文件

来自分类Dev

仆人无法流式传输JSON

来自分类Dev

使用nc传输大文件

来自分类Dev

PHP:无法将CSV文件流式传输到客户端以响应AJAX调用

来自分类Dev

无法流式传输SoundCloud的某些曲目

来自分类Dev

无法在Internet Explorer中进行流式传输

来自分类Dev

将TextReader流式传输到文件

来自分类Dev

从HTTP流式传输时损坏的文件

来自分类Dev

从Amazon S3流式传输文件

来自分类Dev

HLS从静态文件实时流式传输

来自分类Dev

通过UDP流式传输.ts文件

来自分类Dev

C ++文件输入,流式传输和编译

来自分类Dev

将TextReader流式传输到文件

来自分类Dev

通过HttpUrlConnection流式传输多个文件