在 Node.js 中設定 maxSocket - AWS SDK for JavaScript

我們宣布了即將推 end-of-support 出的 AWS SDK for JavaScript v2。我們建議您移轉至 AWS SDK for JavaScript v3。有關日期,其他詳細信息以及如何遷移的信息,請參閱鏈接的公告。

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

在 Node.js 中設定 maxSocket

您可以在 Node.js 中,依來源設定連線數量上限。如果已設定 maxSockets,低階 HTTP 用戶端會在請求可供使用時將它們排入佇列並指派至通訊端。

這可讓您隨時為指定來源的並行請求數設定上限。降低此值可能會減少調節量或接收的逾時錯誤數。然而,這也可能增加記憶體使用量,因為請求在通訊端可用前都會排在佇列中。

以下範本示範如何為您建立的所有服務物件設定 maxSockets。此範例可允許對每個服務端點進行最多 25 個並行連線。

var AWS = require('aws-sdk'); var https = require('https'); var agent = new https.Agent({ maxSockets: 25 }); AWS.config.update({ httpOptions:{ agent: agent } });

您可以為每個服務完成相同的設定。

var AWS = require('aws-sdk'); var https = require('https'); var agent = new https.Agent({ maxSockets: 25 }); var dynamodb = new AWS.DynamoDB({ apiVersion: '2012-08-10' httpOptions:{ agent: agent } });

使用 https 的預設時,軟體開發套件會從 globalAgent 取得 maxSockets 值。若沒有定義 maxSockets 值或是該值為 Infinity,軟體開發套件會假設 maxSockets 的值為 50。

如需在 Node.js 中設定 maxSockets 的詳細資訊,請參閱 Node.js online documentation