こんにちは、アウゼンです

初歩的な質問で、恐縮ですが
「大きなファイルをレスポンスするようなもな、node.jsに向かない」という話をよく耳にするのですが
どうして向かないのでしょうか?

下記のような500MBのファイルをレスポンスするソース(極端な例)で試してみましたが、fs.readFileもresponseもブロックする訳でもなく
どういうことなのか疑問に思っています。

var fs = require('fs');
var http = require('http');
http.createServer(function (req, res) {
    fs.readFile('/home/mongo/testdata500mb',function(err,data){
        console.log('responce start!!');
        res.writeHead(200, {'Content-Type': 'image/jpeg' } );
        res.end( data, 'binary' );
        console.log('responce end!!');
    });
}).listen(1337);

実際のところソースを動かして確認してみるとうまく動作しないという状況でした。
Apache benchで並行度(Concurrency Level)を1から4にあげていくと、3移行でリクエストが失敗してしまっています。
結果からはレスポンスが欠落しているように見えるのですが、これが向かない理由につながるのでしょうか?

-- 



メールによる返信