셀프 호스팅 동시성 제어
n8n v2.29이 문서는 셀프 호스팅 동시성 제어에 관한 것입니다. 일반 모드에서 n8n은 동시에 실행할 수 있는 프로덕션 실행 수를 제한하지 않습니다. 이를 방지하기 위해 일반 모드에서 프로덕션 실행에 대한 동시성 제한을 설정할 수 있습니다.
셀프 호스팅 n8n 전용
이 문서는 셀프 호스팅 동시성 제어에 관한 것입니다. n8n Cloud 계정에서 동시성이 작동하는 방식을 알아보려면 Cloud 동시성을 읽어보세요.
일반 모드에서 n8n은 동시에 실행할 수 있는 프로덕션 실행 수를 제한하지 않습니다. 이로 인해 너무 많은 동시 실행이 이벤트 루프를 과부하시켜 성능 저하와 응답 지연을 유발하는 상황이 발생할 수 있습니다.
이를 방지하기 위해 일반 모드에서 프로덕션 실행에 대한 동시성 제한을 설정할 수 있습니다. 이를 사용하면 동시에 실행되는 프로덕션 실행 수를 제어하고, 제한을 초과하는 동시 프로덕션 실행은 대기열에 넣을 수 있습니다. 이러한 실행은 동시성 용량이 확보될 때까지 대기열에 남아 있다가 FIFO(선입선출) 순서로 처리됩니다.
동시성 제어는 기본적으로 비활성화되어 있습니다. 활성화하려면:
export N8N_CONCURRENCY_PRODUCTION_LIMIT=20
다음 사항을 유의하세요:
-
동시성 제어는 웹훅 또는 트리거1 노드에서 시작된 프로덕션 실행에만 적용됩니다. 수동 실행, 서브 워크플로 실행, 오류 실행, CLI에서 시작된 실행 등 다른 종류의 실행에는 적용되지 않습니다.
-
대기 중인 실행은 재시도할 수 없습니다. 대기 중인 실행을 취소하거나 삭제하면 대기열에서도 제거됩니다.
-
인스턴스가 시작될 때 n8n은 동시성 제한까지 대기 중인 실행을 재개하고 나머지는 다시 대기열에 등록합니다.
-
동시성 제어를 모니터링하려면 실행이 대기열에 추가되고 해제되는 것을 로그에서 확인하세요. 향후 버전에서는 n8n이 UI에서 동시성 제어를 표시할 예정입니다.
동시성 제어를 활성화하면 프로젝트 또는 워크플로의 실행(executions) 탭 상단에서 활성 실행 수와 구성된 제한을 확인할 수 있습니다.
큐 모드와의 비교#
큐 모드에서는 --concurrency 플래그를 사용하여 워커가 동시에 실행할 수 있는 작업 수를 제어할 수 있습니다.
큐 모드의 동시성 제어는 일반 모드의 동시성 제어와는 별개의 메커니즘이지만, 환경 변수 N8N_CONCURRENCY_PRODUCTION_LIMIT가 두 가지 모두를 제어합니다. 큐 모드에서 n8n은 이 변수가 -1이 아닌 값으로 설정된 경우 이 변수에서 제한 값을 가져오며, 그렇지 않으면 --concurrency 플래그 또는 그 기본값을 대신 사용합니다.
평가 동시성#
평가 테스트 실행은 프로덕션 실행과는 별도의 동시성 제한을 사용합니다. 기본적으로 이 제한은 인스턴스의 라이선스 등급(Community/Pro 1, Business 3, Enterprise 5)을 따릅니다. N8N_CONCURRENCY_EVALUATION_LIMIT로 이를 재정의할 수 있습니다. UI에서 슬라이더가 작동하는 방식은 메트릭 기반 평가를 참고하세요.
Footnotes
-
트리거 노드는 특정 조건에 대한 응답으로 워크플로를 실행하는 역할을 하는 특수한 노드입니다. 모든 프로덕션 워크플로는 워크플로 실행 시점을 결정하기 위해 최소 하나의 트리거가 필요합니다. ↩