차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판이전 판다음 판 | 이전 판 | ||
| 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 호환을 위해 | ||
| + | |||
| =====결론===== | =====결론===== | ||