使用 AWS JavaScript SDK 和 agent=false 的快速 S3 操作

Fast S3 operations with AWS JavaScript SDK and agent=false

我需要尽快在 S3 中执行数千个操作。我已经创建了一个 Node.js 应用程序,它将使用 S3 SDK 一次尝试多达 500 个操作。示例操作有 s3.copyObject()s3.listObjects

在我的测试中,我发现实际上只有少数请求同时在线上发生,因为代理发现它在同一台主机上,并将所有请求推送到同一 TCP 连接。我通过禁用代理解决了这个问题:

AWS.config.httpOptions.agent = false;

然而,为此我还必须禁用 SSL:

AWS.config.sslEnabled = false;

SDK 文档说使用特殊代理进行 SSL 操作。

我如何覆盖代理的 SSL 行为,禁用保持活动状态或至少启用约 500 个保持活动状态的同时连接?

事实证明,我没有将我的 Node 副本升级到 v0.12,所以我不得不设置全局代理 maxSockets。启动它可以解决这个问题。出于同样的原因升级到 Node.js v0.12.02 也是如此。