La Guía de referencia de la API de AWS SDK for JavaScript V3 describe en detalle todas las operaciones de la API para la versión 3 (V3) de AWS SDK for JavaScript.
Reutilización de conexiones con Keep-Alive en Node.js
El agente HTTP o HTTPS predeterminado de Node.js crea una nueva conexión TCP para cada nueva solicitud. Para evitar el costo de establecer una nueva conexión, el AWS SDK para JavaScript reutiliza las conexiones TCP de forma predeterminada..
En el caso de las operaciones de corta duración, como las consultas de Amazon DynamoDB, la sobrecarga en latencia de la configuración de una conexión TCP puede ser mayor que la propia operación. Además, dado que el cifrado en reposo de DynamoDB está integrado con AWS KMS, es posible que se produzcan latencias desde la base de datos al tener que restablecer nuevas entradas de caché de AWS KMS para cada operación.
Si no desea reutilizar las conexiones TCP, puede deshabilitar la reutilización activa de estas conexiones con keepAlive para cada cliente de servicio, como se muestra en el siguiente ejemplo para un cliente de DynamoDB.
import { DynamoDBClient } from "@aws-sdk/client-dynamodb"; import { NodeHttpHandler } from "@smithy/node-http-handler"; import { Agent } from "https"; const dynamodbClient = new DynamoDBClient({ requestHandler: new NodeHttpHandler({ httpsAgent: new Agent({ keepAlive: false }) }) });
Si keepAlive está habilitado, también puede establecer el retraso inicial de los paquetes TCP Keep-Alive con keepAliveMsecs, que de forma predeterminada es 1000 ms. Consulte la documentación de Node.js