차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판이전 판다음 판 | 이전 판 | ||
tech:php_thread_safe [2018/12/17 15:22] – [Thread Safe?] V_L | tech:php_thread_safe [2018/12/17 15:45] (현재) – [Multi thread VS Multi process] V_L | ||
---|---|---|---|
줄 2: | 줄 2: | ||
====== | ====== | ||
- | **Thread Safe 와 Non Thread Safe** | + | 웹서버는 |
- | 우선 윈도우용 PHP는 항상 Thread Safe 버전으로 나왔었다. | + | =====Multi thread VS Multi process===== |
- | 이유는 윈도우가 **멀티쓰레드** 방식인데 PHP 는 멀티프로세스 방식으로 개발 되었기 때문이다. | + | |
- | 참고로 [[tech: | + | |
- | PHP를 IIS와 연동하기 위해 CGI 또는 ISAPI 방식으로 연동을 한다. | + | 멀티쓰레드 |
- | 그런데 PHP와 관련된 모듈들이 대부분 | + | |
- | 멀티쓰레드 | + | |
- | 그래서 안정적인 방법으로 | + | 기본적으로 |
- | 이 퍼포먼스 문제를 개선한 것이 Non Thread Safe 버전이라고 생각하면 되겠다…^^ | + | [[tech: |
- | 정리를 | + | 원래 PHP와 관련된 모듈들이 대부분 멀티프로세스 방식으로 개발 되었기 때문에 |
+ | 멀티쓰레드 방식으로 개발된 ISAPI 로 윈도우서버 IIS와 연동하기위해 Thread Safe 버전이 개발되었다. | ||
- | =====Non Thread Safe===== | + | |
+ | 하지만 이 방법은 느리다는 문제가 있었다. | ||
+ | 그래서 Fast-CGI 방식으로 연결하여 퍼포먼스를 해결한 것이 | ||
- | - 다중 스레드 | + | 정리를 하자면 |
- | - FAST CGI 호환을 위해 | + | |
=====Thread Safe===== | =====Thread Safe===== | ||
- 단일 스레드 | - 단일 스레드 | ||
- SAPI와 PHP 호환을 위해 | - SAPI와 PHP 호환을 위해 | ||
+ | =====Non Thread Safe===== | ||
+ | |||
+ | - 다중 스레드 | ||
+ | - FAST CGI 호환을 위해 | ||
+ | |||
=====결론===== | =====결론===== |