AWS SDK for JavaScript v2 のサポート終了が間近に迫っていることが発表
Node.js での maxSockets の設定
Node.js では、オリジンあたりの最大接続数を設定できます。
maxSockets
が設定されている場合、低レベルの HTTP クライアントはリクエストをキューに入れ、利用可能になったときに、ソケットに割り当てます。
これにより、一度に特定のオリジンへの同時リクエスト数の上限を設定できます。この値を小さくすると、受信したスロットリングエラーまたはタイムアウトエラーの数を減らすことができます。ただし、ソケットが使用可能になるまでリクエストがキューに入れられるため、メモリ使用量も増加する可能性があります。
次の例では、作成したすべてのサービスオブジェクトに maxSockets
を設定する方法を示しています。この例では、サービスエンドポイントごとに最大 25 の同時接続が可能です。
var AWS = require('aws-sdk'); var https = require('https'); var agent = new https.Agent({ maxSockets: 25 }); AWS.config.update({ httpOptions:{ agent: agent } });
同じことをサービスごとに行うことができます。
var AWS = require('aws-sdk'); var https = require('https'); var agent = new https.Agent({ maxSockets: 25 }); var dynamodb = new AWS.DynamoDB({ apiVersion: '2012-08-10' httpOptions:{ agent: agent } });
デフォルトの https
を使用する場合、SDK は globalAgent
から maxSockets
値を取ります。maxSockets
値が定義されていない場合、または Infinity
の場合、SDK は maxSockets
値を 50 と見なします。
Node.js で maxSockets
を設定する方法の詳細については、「Node.js のオンラインドキュメント