我需要尽快在S3中执行数千次操作。我创建了一个Node.js应用程序,它将使用S3 SDK一次尝试多达500个操作。示例操作包括s3.copyObject()
,s3.listObjects
等。
在我的测试中,我发现实际上只有少数请求同时通过线路发生,因为代理看到它在同一主机上,并将所有请求推送到同一TCP连接。我通过禁用代理来解决这个问题:
AWS.config.httpOptions.agent = false;
但要做到这一点,我还必须禁用SSL:
AWS.config.sslEnabled = false;
SDK文档说特殊代理用于SSL操作。
如何覆盖SSL代理行为,禁用keep-alive或至少启用~500 keep-alive同时连接?
答案 0 :(得分:0)
事实证明我没有将我的Node副本升级到v0.12所以我不得不设置全局代理maxSockets。起来解决了这个问题。因此出于同样的原因升级到Node.js v0.12.02。