9

私が書いているモジュールで使用できるアウトバウンド http ソケットの数を増やす必要があります。以下を使用して、これをグローバルに実行できることを知っています。

// increase max sockets
http.globalAgent.maxSockets = 1000;

他のモジュールに影響を与えずにモジュールの maxSocket 制限を作成するための最良のパターンは何ですか?

4

2 に答える 2

3

最善の選択肢は、作成するすべての http および https リクエストに Agent オブジェクトを渡し、maxSockets を好みに合わせて設定することです。これは、他のモジュールには影響しません。http://nodejs.org/docs/latest/api/http.html#http_http_request_options_callbackを参照してください。

http モジュールに直接依存するのではなく、自分でフレームワークを使用している場合、それは難しく、パッチを当てる必要があるかもしれません。

于 2013-03-14T15:15:56.807 に答える
-1

設定によってホストごとに利用可能な同時接続数が決まるため、個々のモジュールに対してこれを具体的に設定する方法はありません。ただし、ユーザーが既に指定した数から同時接続数を減らしていないことを確認する必要があります。たとえば、誰かが maxSockets を 5000 に設定し、モジュールでそれを 1000 に設定すると、悪いことが起こる可能性があります。次のようなものをお勧めします

var max = 1000;
if(http.globalAgent.maxSockets < max) {
    http.globalAgent.maxSockets = max;
}
于 2012-12-01T02:30:15.883 に答える