아파치(apache) mpm, prefork, worker
2010스터디(한결대디)/아파치 / 2010. 3. 5. 16:12
아파치 2.x 버전에서는 MPM(Multi-Processing Module)를 사용하여 클라이언트의 요청의 처리 방식을 선택하도록 한다.
* http://httpd.apache.org/docs/2.2/mpm.html (apache 공식 문서)
대략적인 내용은 프로세스 단위로 클라이언트의 요청을 처리할지(prefork), 쓰레드 단위로 까지 클라이언트 요청을 확장시킬지(worker)이다. ( 이것은 아파치를 컴파일 할 때 적용된다.prefork.c, worker.c)
직관적으로 생각하면 쓰레드까지 확장 시키는 것이 당연히 성능면에서 뛰어나다는 것을 알 수 있다. (대략 1.5~ 2배 정도라고 하는데..)
성능면에서는 좋지만 쓰레드 방식이라는 것이 메모리를 공유하게 되므로 여러 쓰레드를 쓰는 중에 하나의 쓰레드에 이상이 생길 때에는 같은 프로세스 내의 모든 프로세스에 영향을 줄 수 있다는 문제점이 있다.
현재 본인의 서버가 무슨 방식을 사용하는지 확인 할려면 apache root / bin / httpd -l 로 확인 해 보면 어떤 파일을 컴파일 하였는지 알 수 있다. (기본은 worker.c이다.)
'2010스터디(한결대디) > 아파치' 카테고리의 다른 글
httpd (0) | 2010.03.03 |
---|