>  기사  >  백엔드 개발  >  PHP용 NTS와 TS의 차이점은 무엇입니까?

PHP용 NTS와 TS의 차이점은 무엇입니까?

Guanhui
Guanhui원래의
2020-07-21 14:27:252043검색

PHP용 NTS와 TS의 차이점은 무엇입니까?

PHP용 NTS와 TS의 차이점은 무엇인가요?

PHP의 NTS와 TS의 차이점: 전자는 여러 스레드에서 액세스할 때 잠금 메커니즘을 사용할 수 있으므로 데이터 불일치나 데이터 오염이 없지만 후자는 데이터 액세스 보호를 제공하지 않으므로 가능합니다. 데이터의 더티 읽기(Dirty Read)가 발생하지만 성능은 더 좋아집니다.

ts(Thread-Safety)는 스레드 안전을 의미합니다. 여러 스레드가 액세스할 때 잠금 메커니즘이 채택됩니다. 스레드가 이 클래스의 특정 데이터에 액세스하면 스레드가 읽기를 완료할 때까지 다른 스레드가 액세스할 수 없습니다. 다른 스레드만 사용할 수 있습니다. 데이터 불일치나 데이터 오염이 없습니다. PHP가 ISAPI 모드로 로드될 때 이 버전을 선택하십시오.

nts(None-Thread Safe)는 스레드로부터 안전하지 않습니다. 데이터 액세스를 제공하지 않습니다. 여러 스레드가 연속적으로 데이터를 변경하여 더티 데이터가 발생할 수 있습니다. PHP가 빠른 CGI 모드에서 실행될 때 더 나은 성능을 위해 이 버전을 선택하세요. , 일반적으로 http 서버에 의해 로드되어 서버 모듈 형태로 실행됩니다. Microsoft에서 제안한 것이므로 win 아래의 apache 및 iis와 같은 win 플랫폼에서만 실행될 수 있다고 합니다. 빠른 cgi 방법이 더 안정적입니다.] 반면 Linux의 PHP는 Apache 모듈 또는 php-fpm으로 실행됩니다.

cgi(Common Gateway Interface): HTTP 서버가 사용자 또는 다른 컴퓨터의 프로그램과 "대화"하는 도구입니다. 직설적으로 말하면 cgi는 서버와 통신할 수 있는 배경 언어입니다. 현재 PHP는 독립적인 프로그램으로 실행되고 있습니다. 메모리를 소모하는 것이 특징입니다.

빠른 CGI입니다. 항상 실행될 수 있습니다. 이 방법은 언어 독립적이며 확장 가능합니다. CGI 인터프리터 프로세스를 메모리에 유지하여 고성능을 달성하는 것이 주요 동작인 아키텍처의 확장입니다.

ISAPI 실행 방법은 DLL 동적 라이브러리 형태로 사용되며 사용자가 요청한 후에 실행될 수 있으므로 사용자 요청을 처리한 후 즉시 사라지지 않으므로 실행 효율성을 높이기 위해 스레드 안전성 검사가 필요합니다. 프로그램이므로 ISAPI를 사용하여 PHP를 실행하는 경우 ThreadSafe 버전을 선택하는 것이 좋습니다.

FastCGI 실행 방법은 단일 스레드를 사용하여 작업을 수행하므로 스레드 안전 검사를 수행할 필요가 없습니다. 스레드 안전 검사 보호를 제거하면 실행 효율성이 향상될 수 있습니다. 따라서 FastCGI를 사용하여 PHP를 실행하는 것이 좋습니다. NonThread Safe 버전을 선택합니다.

phpinfo();를 통해 Thread Safety 항목을 확인하세요. 이 항목은 thread safe한지 확인하는 것입니다. 활성화되어 있으면 일반적으로 ts 버전이어야 하며, 그렇지 않으면 nts 버전입니다.

추천 튜토리얼: "

PHP

"

위 내용은 PHP용 NTS와 TS의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.