php는 유닉스 방식인 다중 프로세스 방식인데 윈도우는 다중 쓰레드 방식이라 안정성이 떨어짐
그래서 대안으로 Thread Safe 버전을 내놨는데 성능이 떨어짐
그래서 안정성 대신 성능을 위한 Non Thread Safe 버전을 내놓음


    - 웹서버와 권장 버전
IIS, ISAPI: Thread Safe version
IIS, CGI or Fast CGI: Non Thread Safe version

Apache MPM worker: Thread Safe version
Apache MPM prefork: Non Thread Safe version

Nginx Fast CGI : Non Thread Safe version

 

//-----------------------------------------------------------------------------

설치된 php가 Non Thread Safe 버전인지 알아보는 방법(윈도우 명령어)

 

> php -info | findstr /i "thread"



//=========================================

// 참고


Apache MPM (다중처리 모듈 , Multi-Processing Module)
https://httpd.apache.org/docs/2.4/ko/mpm.html
http://faq.hostway.co.kr/Linux_WEB/7043
https://zetawiki.com/wiki/%EC%95%84%ED%8C%8C%EC%B9%98_%EC%84%9C%EB%B2%84_MPM,_prefork,_worker_%EB%B0%A9%EC%8B%9D

* prefork 방식
프로세스당 스레드(연결) 1개
자식 프로세스는 최대 1024개까지 가능
스레드간 메모리 공유 안함
→ 독립적이라 안정적
→ 메모리를 많이 사용
안정성과 오래된 소프트웨어와의 호환성이 필요한 사이트
PHP Non Thread Safe version


//===========
* worker 방식
프로세스 당 스레드(연결) 여러 개
메모리 공유 사용
→ 메모리 사용량 적음
통신량이 많은 서버에 적절
→ 리소스 경합 주의 필요
높은 확장가능성(scalability)이 필요한 사이트
PHP Thread Safe version



//==================================

PHP: FPM(FastCGI Process Manager)



반응형

'Code > PHP' 카테고리의 다른 글

라라벨 에러 해결 방법, preg_match() 에러  (0) 2019.02.23
[php] xDebug 사용법  (0) 2019.02.16
[html, php] 이스케이프( Escape)  (0) 2019.02.12
PHP 버전 역사  (0) 2019.02.11
[php] PEAR , PECL , composer  (0) 2019.01.31
Posted by codens