Riutilizza le connessioni con keep-alive in Node.js - AWS SDK for JavaScript

La Guida API di riferimento AWS SDK for JavaScript V3 descrive in dettaglio tutte le API operazioni per la AWS SDK for JavaScript versione 3 (V3).

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Riutilizza le connessioni con keep-alive in Node.js

L'HTTPSagente Node.jsHTTP/predefinito crea una nuova TCP connessione per ogni nuova richiesta. Per evitare il costo di stabilire una nuova connessione, AWS SDK for JavaScript riutilizza le TCP connessioni per impostazione predefinita.

Per operazioni di breve durata, come le query Amazon DynamoDB, il sovraccarico di latenza dovuto alla TCP configurazione di una connessione potrebbe essere maggiore dell'operazione stessa. Inoltre, poiché la crittografia a riposo di DynamoDB è integrata AWS KMScon, è possibile che si verifichino delle latenze dovute al database che devono ristabilire AWS KMS nuove voci della cache per ogni operazione.

Se non si desidera riutilizzare TCP le connessioni, è possibile disattivare il riutilizzo di queste connessioni in tempo reale per client per servizio, come illustrato nell'esempio seguente per un client DynamoDB. keepAlive

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

Se keepAlive è abilitato, è anche possibile impostare il ritardo iniziale per i pacchetti TCP Keep-Alive con, che per impostazione predefinita è 1000 ms. keepAliveMsecs Vedere la documentazione di Node.js per i dettagli.