Das AWS SDK für JavaScript V3-API-Referenzhandbuch beschreibt detailliert alle API-Operationen für die AWS SDK für JavaScript Version 3 (V3).
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verbindungen mit Keep-Alive in Node.js wiederverwenden
Der standardmäßige Node.js-HTTP/HTTPS-Agent erstellt eine neue TCP-Verbindung für jede neue Anforderung. Um die Kosten für den Aufbau einer neuen Verbindung zu vermeiden, werden TCP-Verbindungen AWS SDK für JavaScript standardmäßig wiederverwendet.
Bei kurzlebigen Vorgängen, wie Amazon DynamoDB DynamoDB-Abfragen, kann der Latenzaufwand beim Einrichten einer TCP-Verbindung größer sein als der Vorgang selbst. Da die DynamoDB-Verschlüsselung im Ruhezustand integriert ist AWS KMS, kann es außerdem zu Latenzen kommen, weil die Datenbank für jeden Vorgang neue AWS KMS Cacheeinträge einrichten muss.
Wenn Sie TCP-Verbindungen nicht wiederverwenden möchten, können Sie die Wiederverwendung dieser Verbindungen keepAlive
live with für jeden einzelnen Service deaktivieren, wie im folgenden Beispiel für einen DynamoDB-Client gezeigt.
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 }) }) });
Wenn keepAlive
aktiviert, können Sie auch die Anfangsverzögerung für TCP-Keep-Alive-Pakete mit festlegenkeepAliveMsecs
, die standardmäßig 1000 ms beträgt. Weitere Informationen finden Sie in der Node.js-Dokumentation