나는 이것을 조금 더 조사했다.
저는 주위를 파고 기본값을 알아 냈습니다.
AWS-SDK는 노드 http
을 사용하고 있으며 그 중 defaultSocketCount
은 INFINITY
입니다.
그들은 maxSocketCount
이 50
인 포장 아래에 https
모듈을 사용하고 있습니다.
관련 코드 스 니펫.
sslAgent: function sslAgent() {
var https = require('https');
if (!AWS.NodeHttpClient.sslAgent) {
AWS.NodeHttpClient.sslAgent = new https.Agent({rejectUnauthorized: true});
AWS.NodeHttpClient.sslAgent.setMaxListeners(0);
// delegate maxSockets to globalAgent, set a default limit of 50 if current value is Infinity.
// Users can bypass this default by supplying their own Agent as part of SDK configuration.
Object.defineProperty(AWS.NodeHttpClient.sslAgent, 'maxSockets', {
enumerable: true,
get: function() {
var defaultMaxSockets = 50;
var globalAgent = https.globalAgent;
if (globalAgent && globalAgent.maxSockets !== Infinity && typeof globalAgent.maxSockets === 'number') {
return globalAgent.maxSockets;
}
return defaultMaxSockets;
}
});
}
return AWS.NodeHttpClient.sslAgent;
}
소켓 수를 조작하려면 BretzL의 답변을 참조하십시오.
그러나 지금은 http
과 https
에 대한 에이전트를 동시에 설정하는 방법이 있습니다. http
에서 https
으로 전환 할 때 구성을 업데이트하면이 문제를 해결할 수 있습니다.
참조 : https://github.com/aws/aws-sdk-js/issues/1185
그러나이 SDK는 HTTPS에 대한 다른 사용자 에이전트를 사용하지? – Thihara
비슷한 코드 예제를 참조하십시오. http://docs.aws.amazon.com/AWSJavaScriptSDK/guide/node-configuring.html#Registering_Certificate_Bundles – at0mzk
감사합니다. – Thihara