在 Node.js 中配置 maxSockets - AWS SDK for JavaScript

我们已宣布即将终止对 AWS SDK for JavaScript v2 的支持。建议您迁移到 AWS SDK for JavaScript v3。有关日期、其他详细信息以及如何迁移的信息,请参阅链接的公告。

在 Node.js 中配置 maxSockets

在 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 时,SDK 从 globalAgent 获取 maxSockets 值。如果未定义 maxSockets 值,或者该值是 Infinity,则开发工具包采用 maxSockets 值 50。

有关在 Node.js 中设置 maxSockets 的更多信息,请参阅 Node.js 在线文档