WAS/Apache

ISAPI / CGI(fastcgi, fcgid) / mpm(worker, prefork, event)

Lawmin 2012. 12. 29. 15:09


 처리 방식

 특성

 서버 방식

 Apache 사용 mod

 Process

 non-threaded (thread-safe)

 non-thread-safe 모듈 사용 가능

 안정성, 다소 느림

 mpm=prefork (Apache)

 FastCGI (IIS)

 

 Thread

 threaded (non-thread-safe)

 thread-safe 모듈 사용해야함

 확장성, 다소 빠름

 mpm=worker (Apache)

 ISAPI(IIS) 

 mod_fcgid (mod_fastcgi)

 Event

 event-driven (async.)

 저비용, 빠름, 확장성 검증 필요

 mpm=event (Apache 2.4)

 Nginx


[apache vs nginx]

Apache: 많은 reference, 많고 안정화된 mod (특히 mod_rewrite)

Nginx: 성능, 저비용, 적은 reference 로 인한 어려움

[thread-safe vs non-thread-safe]

thread-safe : 모듈내에 이미 동기화가 고려되어 있으므로, 다소 느릴수 있으나 별도 동기화는 필요없음

non-thread-safe : 사용자가 동기화를 관리해야하거나, 개별 프로세스라 동기화가 필요없는 방식

[CGI vs fast-CGI]

CGI: 요청시 마다 전담 프로세스를 띄우고 종료

fast CGI: 프로세스 pool을 활용해 매핑하는 방식이라 빠름, 종료 시점을 적절히 결정하여 pool을 정리할 필요 있음