node.js を使用してデータ転送プロキシ サーバーを構築しています。http(s) REST API を使用して、クライアントのリクエストを迅速なオブジェクト ストレージ サーバーにパイプします。
個々の要求に対しては正常に機能しますが、同じ宛先とポート (443) の発信 ESTABLISHED tcp 接続が 5 に達すると、新しい接続を作成できません。
Java サーブレットを使用して 10 以上の接続を作成しようとしたところ、正常に動作したため、O/S の問題ではないようです。
以下のようにglobalAgentの最大ソケットを設定しようとしましたが、何も変わりません。
http.globalAgent.maxSockets = 500;
https.globalAgent.maxSockets = 500;
これが私のソースコードの一部です。
app.post('/download*', function(req, res){
/***********************************************************
* Some codes here to create new request option
***********************************************************/
var client = https.request(reqOptions, function(swiftRes) {
var buffers = [];
res.header('Content-Length', swiftRes.headers['content-length']);
res.header('Content-Type', swiftRes.headers['content-type']);
res.header('range', swiftRes.headers['range']);
res.header('connection', swiftRes.headers['connection']);
swiftRes.pipe(res);
swiftRes.on('end', function(err){
res.end();
});
});
client.on('error', function(err) {
callback && callback(err);
client.end(err);
clog.error('######### Swift Client Error event occurred. Process EXIT ');
});
client.end();
});
この問題の解決策が得られることを願っています。
前もって感謝します。