在 Node.js 中使用保持活动状态重用连接 - Amazon SDK for JavaScript
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon SDK for JavaScript V3 API 参考指南详细描述了 Amazon SDK for JavaScript 版本 3 (V3) 的所有API操作。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 Node.js 中使用保持活动状态重用连接

默认的 Node.jsHTTP/HTTPS代理会为每个新请求创建一个新TCP连接。为了避免建立新连接的成本,默认情况下会 Amazon SDK for JavaScript 重复使用TCP连接。

对于短期操作(例如 Amazon DynamoDB 查询),TCP建立连接的延迟开销可能大于操作本身。此外,由于 Dy namoDB 静态加密Amazon KMS与集成,因此您可能会遇到数据库延迟,必须为每个操作重新建立 Amazon KMS 新的缓存条目。

如果您不想重复使用TCP连接,则可以禁止在每个服务客户端keepAlive上实时重用这些连接,如以下 DynamoDB 客户端示例所示。

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

如果已启keepAlive用,您还可以使用设置 TCP Keep-Alive 数据包的初始延迟keepAliveMsecs,默认情况下为 1000 毫秒。有关详细信息,请参阅 Node.js 文档