본문 바로가기
728x90

스레드2

[번역]Inside NGINX: How We Designed for Performance & Scale Nginx는 설계 방식 덕분에 우수한 웹 퍼포먼스를 보이고 있다. 수 많은 WS와 WAS가 스레드 또는 프로세스 기반 아키텍처를 사용하는 반면, nginx는 접속을 수백 수천개의 동시 접속으로 확장할 수 있는 정교한 event-driven 아키텍처를 사용하고 있다. Inside NGINX 는 고수준 프로세스 아키텍처부터 저수준으로 내려가면서 Nginx가 여러개의 커넥션을 싱글 프로세스로 처리하는 과정을 서술하고 있다. 이 글은 한발 더 나아가 더 디테일하게 Nginx의 동작 과정을 서술하려 한다. Setting the Scene - The NGINX Process Model Nginx의 설계를 이해하기 위해선 Nginx가 어떻게 동작하는지 알아야 한다. Nginx는 하나의 마스터 프로세스와 워커프로세스,.. 2022. 8. 11.
Process, Thread 프로세스는 사전적으로 '무엇인가 진행되고 있는 것'을 의미한다. 컴퓨터에서 프로세스는 실행중인 프로그램이다. 컴퓨터 프로그램은 프로그래밍 언어로 작성되고 컴파일 과정을 통해 object file(또는 실행 파일) 형태로 하드디스크에 저장된다. 즉, 프로그램은 목적코드로 작성된 하나의 파일이다. 이런 프로그램을 실행하기 위해 주기억장치에 적재하고 운영체제하의 관리 개체로 등록된다. 이 상태가 프로세스이다. 범용 컴퓨터에서는 여러개의 프로세스가 동시에 존재한다. 따라서 프로세스를 식별하고 관리하기 위해 다음과 같은 속성들이 필요하다. 1. PID(Process Identification Number) 새로운 프로세스가 생성될 때마다 운영체제는 고유한 식별 번호를 부여한다. 여기서의 고유함은 현재 실행 중인 .. 2022. 2. 3.
728x90