
worker_processes
/etc/nginx/nginx.conf

worker_processes 지시문 문법
컨텍스트 위치: main
worker_processes number | auto;
ex)
- worker_processes 1;
- worker_processes auto;
필자의 구성은 auto 이다.
따라서, 리눅스의 CPU 코어 수에 맞게 자동으로 worker_processes 갯수가 생성된다.
단순하게 worker_processes 갯수가 많다고 성능이 향상되는 것은 아니다.
하드웨어의 CPU 코어 수에 맞게 설정해줘야 한다.
그 이유는 nginx 는 event drive 방식으로 사용자의 HTTP/HTTPS 요청을 처리하는데,
해당 요청을 worker_process 간 효율적으로 분산한다.
따라서, CPU 코어가 1개인데, worker_process 프로세스를 2개로 띄어서 사용한다는 것은
동일한 작업을 1번 워커 프로세스와 2번 워커 프로세스가 Context Switching 을 발생하면서 작업하는 것을 의미한다.
흙 파는 작업을 할 때, 2명이서 하나의 굴착기를 가지고 서로 한 번씩 굴착기에 올라갔다 내려갔다하면서 땅을 파는 것보다
혼자서 굴착기 하나로 파는 것이 더 빠른 것과 같다.
이때 이 작업을 지켜보는 현장 감독관이 있는데, 그게 바로 master process 이다.
nginx 는 master process 와 worker process 로 구성되어 있고, 실제로 작업하는 프로세스는 worker process 이다.
master process 는 nginx 설정파일의 유효성을 검사하고 worker process 를 관리한다.

nginx 실행 후 프로세스를 확인해보면, master 프로세스, worker 프로세스를 확인할 수 있다.

'Web > NGINX' 카테고리의 다른 글
NGINX - 05. nginx.conf access log, error log 설정 (0) | 2025.03.23 |
---|---|
NGINX - 03. nginx.conf 지시문 구조 (0) | 2025.03.23 |
NGINX - 02. nginx.conf 의 지시문 user 설정이 디폴트 설정 nobody 가 아닌 nginx 으로 설정되어 있는 이유에 대하여 (2) | 2025.03.19 |
NGINX - 01. NGINX 설치 Version(Rocky 8.10, NGINX 1.14.1) (0) | 2025.03.18 |