NGINX
1. Event Driven 방식 (프로그램의 흐름이 이벤트에 의해 결정)
: 요청이 들어오면 어떤 동작을 해야하는지만 알려주고 다른요청을 처리하는 방식
모든 IO들을 전부 Event Listener로 미루기 때문에, 흐름이 끊기지 않고 응답이 빠르게 진행이 되어 1개의 프로세스로 더 빠른 작업이 가능. => 메모리적인 측면에서 Nginx가 System Resource를 적게 처리
APACHE
1. 스레드 / 프로세스 기반 구조
클라이언트 요청 하나당 스레드 하나가 처리하는 구조.
사용자가 많을 시(=요청이 많을 시), 스레드 생성, 메모리/CPU 낭비가 심하여 성능이 저하될 수 있다.
2. MPM (Multi Processing Module : 다중처리모듈) 방식 처리
1) Prefork MPM
하나의 프로세스가 하나의 스레드를 갖는 구조.
스레드 간 메모리 공유 X (=>안정적)
실행중인 프로세스를 복제하여 실행 (메모리 영역까지 복제)
응답 프로세스를 미리 띄어놓고 클라이언트 요청 시 자식 프로세스가 반응하는 방식
Single/Dual CPU 에서 성능이 더 좋음.
2) Worker MPM
하나의 프로세스가 각각 여러 스레드를 사용.
스레드 간의 메모리를 공유하여 메모리를 덜 사용.
Prefork보다 메모리 사용량이 적기에, 통신량이 많거나 동시 접속자가 많은 사이트에 적합
Multi CPU 에서 성능이 더 좋음.
'강의' 카테고리의 다른 글
200521 - 파일 저장 및 불러오기 (0) | 2020.05.21 |
---|---|
200520 - 회원 정보 저장 (0) | 2020.05.21 |
200518 - 게시판 만들기 (0) | 2020.05.18 |
200514 - 게시판만들기 (0) | 2020.05.15 |
200513 - 게시판 만들기(설계참고) (0) | 2020.05.13 |