Réutiliser les connexions avec keep-alive dans Node.js - AWS SDK for JavaScript

Le guide de API référence AWS SDK for JavaScript V3 décrit en détail toutes les API opérations de la AWS SDK for JavaScript version 3 (V3).

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Réutiliser les connexions avec keep-alive dans Node.js

L'HTTPSagent Node.jsHTTP/par défaut crée une nouvelle TCP connexion pour chaque nouvelle demande. Pour éviter les coûts liés à l'établissement d'une nouvelle connexion, les TCP connexions AWS SDK for JavaScript sont réutilisées par défaut.

Pour les opérations de courte durée, telles que les requêtes Amazon DynamoDB, le temps de latence associé à la TCP configuration d'une connexion peut être supérieur à celui de l'opération elle-même. En outre, étant donné que le chiffrement DynamoDB au repos est intégré, vous pouvez AWS KMSrencontrer des latences lorsque la base de données doit rétablir de AWS KMS nouvelles entrées de cache pour chaque opération.

Si vous ne souhaitez pas réutiliser TCP les connexions, vous pouvez désactiver la réutilisation active de ces connexions, client par service, comme indiqué dans l'exemple suivant pour 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 }) }) });

Si cette option keepAlive est activée, vous pouvez également définir le délai initial pour les paquets TCP Keep-AlivekeepAliveMsecs, qui est par défaut de 1 000 ms. Consultez la documentation Node.js pour plus de détails.