1 秒あたり約 500 ~ 600 リクエストの高負荷サーバーでテスト済み。何時間ものデバッグの後、単純な HTTP サーバーだけになりました。
応答本文がそれよりも大きい場合、たとえば 60k になると、次のエラーが発生することに気付きました。
(node) warning: possible EventEmitter memory leak detected. 11 listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
at Socket.EventEmitter.addListener (events.js:160:15)
at Socket.Readable.on (_stream_readable.js:679:33)
at Socket.EventEmitter.once (events.js:179:8)
at TCP.onread (net.js:527:26)
そしてその後、CPUは狂ったように行きました
しかし、まったく同じコードで、応答を 10k のテキストに設定すると、すべてがスムーズに機能しました。変...
誰もこれに遭遇したことがありますか?助けを求める。
これは完全なスクリプトです:
var
cluster = require('cluster'),
numCPUs = require('os').cpus().length;
if(cluster.isMaster){
for (var i = 0; i < numCPUs; i++) cluster.fork();
cluster.on("exit", function(worker, code, signal) {
cluster.fork();
});
}
else{
var http = require('http');
var app = function(req, res){
res.writeHead(200, {'Content-Type': 'text/html', 'Access-Control-Allow-Origin': '*'});
res.end( 60k_of_text___or___10k_of_text );
};
http.createServer(app).listen(80);
}