在 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.js HTTP/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,您还可以使用 keepAliveMsecs 设置 TCP Keep-Alive 数据包的初始延迟,默认值为 1000ms。有关详细信息,请参阅 Node.js 文档