NGINX Worker Connection, Worker Process 개념

NGINX에서 개별 Worker Process당 Worker Connection을 수행할 수 있습니다. 쉽게 말해 Worker Process는 CPU core이고, Worker Connection은 하나의 코어가 처리할 수 있는 연결 개수를 의미합니다.

NGINX Connection

NGINX는 기본적으로 하나의 Worker Process당 1024개의 커넥션을 처리합니다. 예를 들어, Worker Process가 2면 2048개의 커넥션을 처리할 수 있고, 3이면 3072개, 4이면 4096개를 처리합니다. 즉, 커넥션이 부족한 상황이라면 worker connections 또는 worker Process를 늘려줘야 합니다.

 

worker_connections

worker process에서 열 수 있는 최대 동시 연결 수입니다. 이 연결은 클라이언트와의 연결뿐만 아니라 프록시 서버와의 연결 등 모든 연결을 포함합니다. 허용된 연결 수 이상을 요청하면 연결이 부족하다는 알람이 발생합니다.

 

worker_processes

작업자 프로세스입니다. 컴퓨터로 치면 CPU와 비슷합니다. 더 늘어날수록 한번에 더 많은 처리를 할 수 있습니다. 이 값은 숫자로 설정할 수도 있지만 auto로 설정하면 OS가 알아서 값을 결정합니다.

 

적용 방법

해당 설정 값은 nginx.conf에서 변경할 수 있습니다. 변경 후에는 nginx를 재기동해야 변경 사항이 적용됩니다.

 

윈도우 OS 제약사항

그러나 위에서 언급한 worker process를 늘리는 방법은 현재로서 리눅스에 한정됩니다. 왜냐하면 윈도우에선 worker process를 늘려도 실제로는 하나의 프로세스만 제 역할을 하기 때문입니다. worker process를 늘려도 소용이 없습니다.

반응형

댓글

Designed by JB FACTORY