Configuración de maxSockets en Node.js - AWS SDK for JavaScript

Anunciamos el próximo fin del soporte para AWS SDK for JavaScript v2. Se recomienda que migre a AWS SDK for JavaScript v3. Para ver las fechas, los detalles adicionales y la información sobre cómo realizar la migración, consulte el anuncio enlazado.

Configuración de maxSockets en Node.js

En Node.js, puede definir el número máximo de conexiones por origen. Si maxSockets está establecido, el cliente HTTP de bajo nivel pone en cola las solicitudes y las asigna a conectores a medida que estos están disponibles.

Esto le permite configurar un límite máximo del número de solicitudes simultáneas a un determinado origen a la vez. Si disminuye este valor, podrá reducir el número de errores de tiempo de espera o de limitación controlada. Sin embargo, también puede aumentar el uso de la memoria, ya que las solicitudes se ponen en cola hasta que un conector esté disponible.

En el siguiente ejemplo se muestra cómo establecer maxSockets para todos los objetos de servicio que cree. En este ejemplo se permiten hasta 25 conexiones simultáneas para cada punto de enlace de servicio.

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

Lo mismo se puede hacer por servicio.

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

Cuando se utiliza el valor predeterminado de https, el SDK toma el valor maxSockets del globalAgent. Si el valor maxSockets no está definido o es Infinity, el SDK supondrá que el valor de maxSockets es 50.

Para obtener más información sobre cómo configurar maxSockets en Node.js, consulte la documentación online de Node.js.