Configurar maxSockets em Node.js - AWS SDK for JavaScript

Anunciamos o próximo fim do suporte para o AWS SDK for JavaScript v2. Recomendamos migrar para o AWS SDK for JavaScript v3. Para saber as datas e receber detalhes adicionais e informações sobre como migrar, consulte o anúncio vinculado.

Configurar maxSockets em Node.js

Em Node.js, defina o número máximo de conexões por origem. Se maxSockets estiver definido, o cliente HTTP de baixo nível adicionará solicitações HTTP à fila e as atribuirá a soquetes à medida que forem disponibilizados.

Isso permite definir um limite máximo para o número de solicitações simultâneas para uma determinada origem por vez. Reduzir esse valor pode reduzir o número de erros de tempo limite ou de limitação recebidos. No entanto, isso também pode aumentar o uso da memória porque as solicitações serão enfileiradas até um soquete ser disponibilizado.

O exemplo a seguir mostra como definir maxSockets para todos os objetos de serviço criados. Este exemplo permite até 25 conexões simultâneas para cada endpoint de serviço.

var AWS = require('aws-sdk'); var https = require('https'); var agent = new https.Agent({ maxSockets: 25 }); AWS.config.update({ httpOptions:{ agent: agent } });

O mesmo pode ser feito por serviço.

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 } });

Ao usar o padrão https, o SDK utiliza o valor maxSockets do globalAgent. Se o valor maxSockets não estiver definido ou for Infinity, o SDK assumirá um valor maxSockets de 50.

Para obter mais informações sobre como definir maxSockets em Node.js, consulte a documentação online de Node.js.