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인 경우, SDK가 maxSockets 값을 50으로 가정합니다.

Node.js에서 maxSockets 설정에 대한 자세한 내용은 Node.js 온라인 설명서를 참조하세요.