

 [适用于 JavaScript 的 AWS SDK V3 API 参考指南](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/)详细描述了 适用于 JavaScript 的 AWS SDK 版本 3 (V3) 的所有 API 操作。

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

# 在 Node.js 中重复使用具有保持连接功能的连接
<a name="node-reusing-connections"></a>

默认的 Node.js HTTP/HTTPS 代理会为每个新请求创建一个新的 TCP 连接。为了避免建立新连接的成本，*默认情况下*会 适用于 JavaScript 的 AWS SDK 重复使用 TCP 连接。

对于短期操作（如 Amazon DynamoDB 查询），设置 TCP 连接的延迟开销可能大于操作本身。此外，由于 Dy [namoDB 静态加密[AWS KMS](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/encryption.howitworks.html)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/encryption.howitworks.html)与集成，因此您可能会遇到数据库延迟，必须为每个操作重新建立 AWS 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 文档](https://nodejs.org/api/http.html#new-agentoptions)。