

La AWS SDK per JavaScript v2 è arrivata. end-of-support [Ti consigliamo di migrare alla AWS SDK per JavaScript v3.](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/) [Per ulteriori dettagli e informazioni su come effettuare la migrazione, consulta questo annuncio.](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/)

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à.

# Riutilizzo delle connessioni con Keep-Alive in Node.js
<a name="node-reusing-connections"></a>

Per impostazione predefinita, l' HTTP/HTTPS agente Node.js predefinito crea una nuova connessione TCP per ogni nuova richiesta. Per evitare il costo di stabilire una nuova connessione, è possibile riutilizzare una connessione esistente.

Per le operazioni di breve durata, ad esempio le query di Dynamo DB, il sovraccarico di latenza dell'impostazione di una connessione TCP potrebbe essere maggiore dell'operazione stessa. Inoltre, poiché la [crittografia a riposo di DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/encryption.howitworks.html) è integrata [AWS con](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/encryption.howitworks.html) KMS, è possibile che si verifichino delle latenze dovute al database che devono ristabilire nuove AWS KMS voci della cache per ogni operazione.

Il modo più semplice per configurare l'SDK per il riutilizzo delle connessioni TCP JavaScript consiste nell'impostare la variabile di ambiente su. ` AWS_NODEJS_CONNECTION_REUSE_ENABLED` `1` Questa caratteristica è stata aggiunta nella versione [2.463.0](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md#24630).

In alternativa, è possibile impostare la proprietà `keepAlive` di un agente HTTP o HTTPS impostato su `true`, come illustrato nell'esempio seguente.

```
const AWS = require('aws-sdk');
// http or https
const http = require('http');
const agent = new http.Agent({
  keepAlive: true, 
// Infinity is read as 50 sockets
  maxSockets: Infinity
});

AWS.config.update({
  httpOptions: {
    agent
  }
});
```

L'esempio seguente mostra come impostare solo un `keepAlive` client DynamoDB:

```
const AWS = require('aws-sdk')
// http or https
const https = require('https');
const agent = new https.Agent({
  keepAlive: true
});

const dynamodb = new AWS.DynamoDB({
  httpOptions: {
    agent
  }
});
```

Se è abilitato `keepAlive`, è anche possibile impostare il ritardo iniziale per i pacchetti TCP Keep-Alive con `keepAliveMsecs`, che per impostazione predefinita è 1000ms. Vedere la [documentazione di Node.js](https://nodejs.org/api/http.html) per i dettagli.