AWS SDK for JavaScript V3 APIリファレンスガイドでは、バージョン 3 (V3) のすべてのAPIオペレーションについて詳しく説明しています AWS SDK for JavaScript 。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Node.js でキープアライブを使用して接続を再利用する
デフォルトの Node.js HTTP/HTTPS エージェントは、新しいリクエストごとに新しいTCP接続を作成します。新しい接続を確立するコストを回避するために、 はデフォルトでTCP接続を AWS SDK for JavaScript 再利用します。
Amazon DynamoDB クエリなど、存続期間の短いオペレーションの場合、TCP接続を設定する際のレイテンシーオーバーヘッドは、オペレーション自体よりも大きくなる可能性があります。さらに、保管時の DynamoDB 暗号化は と統合されているためAWS KMS、データベースからのレイテンシーがオペレーションごとに新しい AWS KMS キャッシュエントリを再確立しなければならない場合があります。 https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/encryption.howitworks.html
TCP 接続を再利用しない場合は、次の DynamoDB クライアントの例に示すように、サービスごとのクライアントベースkeepAlive
で でこれらの接続の再利用を無効にすることができます。
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
が有効になっている場合は、 で Keep-Alive TCP パケットの初期遅延を設定することもできます。デフォルトでは keepAliveMsecs
1000 ミリ秒です。詳細については、Node.js のドキュメント