Amazon SDK for JavaScriptV3 API 参考指南详细描述了Amazon SDK for JavaScript版本 3 (V3) 的所有 API 操作。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Node.js 中通过保持活动状态重用连接
默认的 Node.js HTTP/HTTPS 代理会为每个新请求创建一个新的 TCP 连接。为了避免建立新连接的成本,SDK 适用于JavaScript重复使用 TCP 连接。
对于短期操作(例如 Amazon DynamoDB 查询),设置 TCP 连接的延迟开销可能大于操作本身。此外,由于 DynamoDB静态加密已与集成Amazon KMS,您可能会遇到数据库延迟,不得不重新建立新的数据库Amazon KMS缓存每个操作的条目。
要禁用重复使用 TCP 连接,请设置
AWS_NODEJS_CONNECTION_REUSE_ENABLED
环境变量为false
(默认为true
)。
您也可以禁用在每个服务客户端上保持这些连接的活动状态,如以下 DynamoDB 客户端示例所示。
import { DynamoDBClient } from "@aws-sdk/client-dynamodb"; import { NodeHttpHandler } from "@smithy/node-http-handler"; import { Agent } from "http"; const dynamodbClient = new DynamoDBClient({ requestHandler: new NodeHttpHandler({ httpAgent: new Agent({ keepAlive: false }) }) });
如果keepAlive
已启用,您还可以使用以下命令设置 TCP Keep-Alive 数据包的初始延迟keepAliveMsecs
,默认情况下为 1000 毫秒。有关详细信息,请参阅 Node.js 文档