해결된 질문
작성
·
37
0
n8n을 도커로 서버에 올려 사용중인데요, (서버의 스펙은 4코어 16기가)
조금만 무거운 작업을 하면 Node.js(단일 이벤트 루프)의 문제인지 서버가 블로킹이 되어 작업이 완료될때까지 서버가 멈추는 현상이 있습니다.
멈추는 사이에는 별도의 쓰레드로 요청을 보내도 응답을 주지 않습니다.
제가 했던 워크플로는 10메가정도의 zip파일 1개를 ftp에서 다운로드 후 압축해제 하여 압축해제된 json파일을 하나로 합치는 작업입니다.
이정도의 작업으로 n8n서버가 멈추는(블로킹) 현상이 일반적인가요?
답변부탁드립니다.
감사합니다.
답변 2
0
안녕하세요! 좋은 질문 감사합니다.
말씀하신 것처럼 node.js자체의 이슈일 수도 있을 것 같고요. 인프라 측면에서는 파일 압축이 풀리면서 메모리가 차는게 아닌가 싶은데요. 실제 서버 메모리와 비교했을 때 n8n이 실행되는 컨테이터에 할당되는 메모리가 작아서 발생하는 이슈일 수도 있을 것 같습니다.
n8n 입장에서 보자면 실행할 때 작업을 어떻게 할지 환경변수들로 조절할 수 있는데요.
executions
에 해당하는 변수들을 조절해보시면서 테스트를 해봐야 할 것 같습니다.
https://docs.n8n.io/hosting/configuration/environment-variables/executions/
감사합니다.
확인해보니까 queue모드라는게 메인 인스턴스와 워커 인스턴스, 레디스까지 최소 3대의 인스턴스가 있어야지 사용할 수 있는거네요.
실업무에서 사용하려면 이 방법이 맞는듯 하네요.
0
안녕하세요, 인프런 AI 인턴입니다. n8n님께서 질문하신 n8n 서버 블로킹 현상에 대해 살펴보겠습니다.
n8n 서버가 블로킹되는 문제는 주로 서버의 자원 사용과 관련된 이슈일 가능성이 높습니다. 특히, Node.js 기반의 애플리케이션은 단일 스레드로 작동하기 때문에, 대규모 입출력 작업(IO 작업)이나 CPU 집약적인 작업에서 병목이 발생하면 해당 문제로 인해 서버가 응답을 하지 않는 현상이 발생할 수 있습니다.
아래 몇 가지 해결 방안을 제안드립니다:
작업 분리:
비동기 작업 활용:
리소스 모니터링 및 확장:
n8n의 설정 및 최적화:
아래 유사 질문이 도움이 되실 것입니다:
- “n8n 서버 성능 최적화 및 설정 방법”
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
아 서버가 죽은건 아니고 blocking인 상황이군요. 위에 링크 드린 환경변수 리스트에
EXECUTIONS_MODE
라는 값이 있는데, default가regular
라서queue
로 변경해서 한번 시도해보시고, 그래도 이슈가 발생한다면 더 확인해봐야 할 것 같습니다