Verbindungen mit Keep-Alive in Node.js wiederverwenden - AWS SDK for JavaScript

Helfen Sie uns, dasAWS SDK for JavaScriptVersion 3 (V3) -Dokumentation durch Feedback unter Verwendung derFeedbackLink oder erstellen Sie ein Problem oder ziehen Sie eine Anfrage anGitHubaus.

DieAWS SDK for JavaScriptReferenzhandbuch zur V3-API-Referenzbeschreibt ausführlich alle API-Operationen für dieAWS SDK for JavaScriptVersion 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, verwendet das SDK für JavaScript TCP-Verbindungen erneut.

Bei kurzlebigen Vorgängen, wie z. B. Amazon DynamoDB DynamoDB-Abfragen, ist der Latenzaufwand beim Einrichten einer TCP-Verbindung möglicherweise höher als der Vorgang selbst. Außerdem seit DynamoDBVerschlüsselung im Ruhezustandist in integriertAWS KMSEs können Latenzen in der Datenbank auftreten, die neu eingerichtet werden müssenAWS KMSCache-Einträge für jeden Vorgang.

Um die Wiederverwendung von TCP-Verbindungen zu deaktivieren, legen Sie dieAWS_NODEJS_CONNECTION_REUSE_ENABLEDUmgebungsvariable zufalse(Der Standardwert isttrue) enthalten.

Sie können auch deaktivieren, diese Verbindungen auf Clientbasis pro Service am Leben zu halten, wie im folgenden Beispiel für einen DynamoDB-Client gezeigt wird.

import { DynamoDBClient } from "@aws-sdk/client-dynamodb"; import { NodeHttpHandler } from "@aws-sdk/node-http-handler"; import { Agent } from "http"; const dynamodbClient = new DynamoDBClient({ requestHandler: new NodeHttpHandler({ httpAgent: new Agent({keepAlive: false}) }) });

WennkeepAliveWenn aktiviert ist, können Sie auch die anfängliche Verzögerung für TCP-Keep-Alive-Pakete mit festlegenkeepAliveMsecs, was standardmäßig 1000 ms beträgt. Weitere Informationen finden Sie in der Node.js-Dokumentation .