こんにちは、アウゼンです
初歩的な質問で、恐縮ですが
「大きなファイルをレスポンスするようなもな、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移行でリクエストが失敗してしまっています。
結果からはレスポンスが欠落しているように見えるのですが、これが向かない理由につながるのでしょうか?
--