• 회원가입
  • 로그인
  • 구글아이디로 로그인

[web] PHP - Windows용 PHP 버전 (Thread Safe / None Thread Safe) 의미 차이 비교

2,605  
목차
  1. 이해에 필요한 배경지식
  2. Thread Safe / None Thread Safe 차이

 

이해에 필요한 배경지식

[용어]

 

  • Thread (스레드) : 작업 테이블
  • Multi thread (멀티 스레드) : 여러 작업 테이블
  • Process (프로세스) : 일 처리
  • Multi Process (멀티 프로세스) : 동시에 여러 일처리
  • CGI (시지아이) : 웹서버와 사용자 프로그램간 동작 제어
  • FastCGI (패스트 시지아이) - CGI 성능보다 약간 좋음
  • ISAPI (아이사피) : CGI 성능보다 많이 좋음
  • IIS (아아아이에스) : 윈도우 웹서버용 인터넷 서비스 모음

 


[리눅스]

 

  • PHP는 기본적으로 Multi-Process 방식만 지원
  • PHP 관련 프로그램도 Multi-Process 방식 사용
  • 리눅스/유닉스 계열은 Multi-Process 방식 사용

 

∴ 리눅스, PHP, 관련 프로그램 궁합이 잘 맞아 문제 발생 X

 


[윈도우]

 

  • PHP는 기본적으로 Multi-Process 방식만 지원
  • PHP 관련 프로그램도 Multi-Process 방식 사용
  • 윈도우 계열인 ISAPI는 Multi-Thread 방식 사용

 

∴ 서로 궁합이 안 맞아 서버 다운되는 문제 발생 O

(∵ 작업테이블 여럿 펼쳐놓고 일처리 동시에 하다 보니 서버가 다운)

 

PS. 위 문제를 해결 위한 시도들

  • ISAPI 대신 CGI로 대체하니, 성능 심하게 저하되는 문제 발생 O
  • CGI 상태에서 성능 끌어올리기 위해 NTS (= None Thread Safe 버전 = 단일 Thread 버전) PHP 개발.

 

 

Thread Safe / None Thread Safe 차이

[TS (Thread Safe) 버전 PHP]

 

Multi-Thread 버전 (= 즉, 작업테이블 여럿 사용 가능)

  • 처음 개발된 윈도우용 버전 PHP
  • 서버 성능 좋을 때 사용
  • Windows + IIS(ISAPI)
  • Windows + Apache

 


[NTS (None Thread Safe) 버전 PHP]

 

Single-Thread 버전 (즉, 작업테이블 하나만 사용 가능)

  • 윈도우와 궁합 맞추기 위해 개발된 PHP 버전
  • 서버 성능이 별로 안 좋을 때 서버 다운 방지 위해 사용
  • Windows + IIS(CGI / FastCGI)


PS1. TS, NTS 모두 Windowns 버전 PHP에 사용되는 개념임.

PS2. PHP 다운 페이지 좌측에 영어로 친절히 잘 설명되어 있음.



분류 제목
web DNS 레코드 유형별 의미 (A / NS / CNAME / SOQ)
web xampp - 다운로드 / 설치 / 라라곤 백업 받아 xampp로 복원 / 윈도우 부팅 시 (Apache/M…
web 크롬 HSTS 정책 삭제하기 (= Chrome Delete domain security policies = …
web (웹호스팅/가상호스팅) 이용 중 속도 느릴 때 체크할 사항
web 유튜브 쇼츠 영상 퍼가기 주소 + 펌 허용된 영상인지 확인하기
web MariaDB 글자 깨짐 오류 에러 해결
web 특정 사이트(도메인) 주소의 네임서버 알아내기
web Bad Request 에러 (= 400 인터넷에러) 해결
web (utf-8 / euc-kr) 차이점 - 문자셋 인코딩 방식 종류
web 파이썬(Python) 모드나 키보드인터럽트(KeyboardInterrupt) 모드에서 빠져나오기
web ASGI 서버 개념
web Ruffle (러플) 다운로드 및 그누보드5에 설치법 매뉴얼 - 최신브라우저에서 플래시(flash)/swf …
web 내 도메인이메일 주소 사용하기 (= 네이버워크 / 다음스마트워크) ※ How to Use My Domain'…
web 윈머지 (Winmerge) 배경색 변경 (빨간색 → 노란색)
web 질문 노하우 - 이렇게 질문하면 좋은 답변 받을 가능성 커진다.
web 그누보드 게시판 운영 중 검색엔진최적화(SEO)에 안 좋은 행위들
web HTML CSS JavaScript jQuery PHP SQL BootStrap 코딩언어 역할 쉬운 설명
web 깃허브 (Github) 사이트 글자크기 인터페이스 커스텀 CSS 스타일코드 (= 깃허브 코드 글씨크기 크게…
web 에디트플러스 (EditPlus) - 테이블(표) 내용을 드래그 해서 메모장에 복사 시, 셀마다 일괄 줄바꿈 …
web ChatGPT 「Network Error (네트워크 에러)」 해결방법 ※ 챗지피티 오류 해결
1/19
목록
찾아주셔서 감사합니다. Since 2012