NGINX Worker Connection, Worker Process 개념
- Server
- 2023. 9. 8.
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를 늘려도 소용이 없습니다.
'Server' 카테고리의 다른 글
[ERROR] ibatis.exceptions.toomanyresultsexception 원인 (0) | 2023.09.29 |
---|---|
DR 서버란? (Active-Standby) (0) | 2023.09.26 |
[ERROR] java.lang.UnsatisfiedLinkError: no xxx in java.library.path 원인 (0) | 2023.09.06 |
JSP 자바 수정 후 WAS 재기동 안 해도 되는 이유 (0) | 2023.08.08 |
스프링 프레임워크 빈(Bean)과 핸들러(Handler) 개념 이해하기 (0) | 2023.07.05 |