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

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

2,591  
목차
  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 PHP - 테스트 사이트/APM유틸 모음 (PHPtest, PHPtester)
web JS파일 한글깨짐방지
web 크롬브라우저 주의요함 원인과 해결법 (chrome, NOT SECURE, cause, solution)
web 티스토리 초대장제도 폐지 (tistory, invitation card, revocation)
web 구글 리디렉션 사용법 (= 사용자에게 이동페이지 알려주기)
web mwb - 배추베이직 BC코드 (=글쓰기특수코드 = 비씨코드 = 비시코드)사용법 (miwit, mw.basi…
web 혹시, 무서운 생초보 (=왕초보 = 무서운 초보) 신가요? ★
web 홈짱닷컴 (Homzzang.com) 사이트 견적설문 (제작비용・제작기간) - (견적문의샘플)
web 퓨니코드(Punycode) - 한글도메인을 영문도메인(=영문,숫자,하이픈조합도메인)으로 인식시키는 코드
web SQL - UNION (유니언) / UNION ALL (유니언올) 차이점 비교
web 그누보드M (0.1.9 그누보드 다국어 베타) 업데이트 (18-10-12 16:35)
web 서버 - 우분투 패키지 설치 명령어 자동 yes하기 (apt-get install -y 프로그램명)
web masonry (메이슨리) - 벽돌쌓기 레이아웃 정렬(= pinterest 핀터레스트 방식)
web PHP - 큰따옴표 작은따옴표 차이 ★★★★★
web 유튜브 썸네일생성 + 유투브 썸네일사이즈 (= 썸네일크기 = 썸네일종류 = 썸네일해상도) + 썸네일주소 (y…
web HTTPS 적용 후 URL 주소창에 자물쇠 안뜰때 조치사항 (SSL 적용 후, http 찾기)
web D2Coding (디투코딩) 개발자용 폰트 무료다운로드・설치 ★
web FTP 이용 불가 상황에서 putty (푸띠, 뿌띠)로 홈페이지 접속해 작업하기
web SQL - MySQL5.7 (DB) 사용자 비밀번호
web G5 - 반응형 게시판 만들 때 작업할 페이지
10/19
목록
찾아주셔서 감사합니다. Since 2012