在 Node.js 中使用保持連線 - 適用於 JavaScript 的 AWS SDK

適用於 JavaScript 的 AWS SDK V3 API 參考指南詳細說明 第 3 版 適用於 JavaScript 的 AWS SDK (V3) 的所有 API 操作。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 Node.js 中使用保持連線

預設 Node.js HTTP/HTTPS 代理程式會為每個新的請求建立新的 TCP 連線。為了避免建立新連線的成本, 預設會 適用於 JavaScript 的 AWS SDK 重複使用 TCP 連線。

對於短期操作,例如 Amazon DynamoDB 查詢,設定 TCP 連線的延遲額外負荷可能大於操作本身。此外,由於 DynamoDB 靜態加密已與 整合AWS KMS,因此您可能會遇到資料庫延遲,必須為每個操作重新建立新的 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已啟用 ,您也可以使用 設定 TCP 保持運作封包的初始延遲keepAliveMsecs,預設為 1000 毫秒。請參閱 Node.js 文件了解詳細資訊。