>  기사  >  백엔드 개발  >  가장 포괄적인 PHP 서버 성능 최적화 구성 솔루션

가장 포괄적인 PHP 서버 성능 최적화 구성 솔루션

원래의
2017-11-29 13:08:522935검색

개발에 PHP를 사용하고 멋진 프로그램을 개발하고 싶다면 어떻게 해야 하나요? 실제로 좋은 성능의 프로그램을 개발하려면 서버가 중요한 역할을 하기 때문에 오늘은 편집자가

PHP 서버 구성 계획 세트를 공유해 드리겠습니다.

[1] 운영 체제 선택에 관하여
Linux/FreeBSD에서 PHP의 성능은 Windows 호스트에서보다 좋습니다. Windows 호스트를 사용할 이유가 없다면(예를 들어 ASP.net, SQL Server, Windows Media Server 또는 Serv-U를 사용해야 하는 경우) Linux/FreeBSD를 사용하는 것이 좋습니다.
Windows를 사용해야 하는 경우 Windows 2003 32비트 Enterprise Edition을 사용하는 것이 좋습니다. Windows 2000은 권장하지 않습니다(성능 저하).
Linux를 사용해야 한다면 RedHat Enterprise Linux(최신 버전은 RedHat Enterprise Linux 4 beta1)를 사용하는 것이 좋습니다.
FreeBSD를 사용해야 한다면 최신 버전인 FreeBSD 5.2.1을 사용하는 것이 좋습니다.
MySQL과 웹이 분리되어 있는 경우에는 LinuxThread를 통해 성능이 좋은 Linux 시스템을 MySQL 호스트로 사용하는 것이 좋습니다. (LinuxThread는 FreeBSD에서도 설치할 수 있지만 더 번거롭습니다.)
[2] 웹 서버 선택
Windows를 사용한다면 IIS6.0을 권장하며, Apache는 권장하지 않습니다(성능 저하).
Linux/FreeBSD를 사용하는 경우 Zeus 또는 Apache를 사용하는 것이 좋습니다(Apache 최신 버전은 2.0.52/1.3.33입니다).
참고: Zeus의 최신 버전인 버전 4.3은 아직 FreeBSD 버전 5.0을 지원하지 않습니다.
Zeus Web Server는 현재 세계에서 가장 성능이 좋고, 가장 빠르고, 가장 강력하고, 가장 압력에 강하고, 가장 안전한 웹 서버 소프트웨어입니다. 그러나 상용 소프트웨어이며 상대적으로 가격이 높습니다(이중 서버 지원). Xeon에서 하이퍼스레딩을 활성화하려면 미화 2,200달러가 필요합니다. Linux 및 FreeBSD 4.x용 크랙 버전 Zeus 4.x는 온라인으로 다운로드할 수 있습니다. 단일 호스트에 수만 명의 온라인 사용자가 있는 중국의 많은 대규모 포럼은 대부분 Zeus를 사용하며 시스템 소비는 Apache보다 훨씬 적습니다. 동시에 Zeus는 서버 로드 밸런싱을 지원합니다. Zeus Load Balancer를 사용하면 여러 호스트가 초대형 사이트를 지원할 수 있습니다.
Zeus 웹사이트에서는 30일 평가판을 무료로 다운로드할 수 있습니다. (사실 크랙 버전과 유일한 차이점은 인증 파일입니다.) 사용 지침은 다음을 참조하세요.
[3] PHP 실행 모드 선택 관련

Windows 호스트에서는 PHP 정식 버전을 설치해야 합니다. php.net에서 제공하는 설치 프로그램을 사용할 수 없으며 수동으로 설치해야 합니다. . 유니코드(UTF-8) 인코딩을 사용해야 하는 경우 Windows 호스트에서 php4.3.x 버전인 경우 iconv() 함수 라이브러리를 별도로 로드해야 합니다(extension_dir은 php.ini에서 올바르게 설정해야 합니다. Extension_dir = "C:/php/extensions/"
, ";extension=php_iconv.dll" 줄 앞의 ";" 기호를 취소하고 c:/php/dlls/iconv.dll을 복사해야 합니다.
참고: php5.x 버전은 이와 같이 설정할 필요가 없으며 Linux/FreeBSD 호스트는 iconv 매개변수(./configure--with-iconv)를 추가해야 합니다. ) PHP를 컴파일할 때.
Windows에서는 IIS를 사용하는 경우 ISAPI를 사용하여 실행하는 것이 좋습니다. CGI를 사용하여 실행하지 마세요. FastCGI를 사용할 수도 있는데(FastCGI 모듈을 다운로드하고 많은 구성을 해야 함) 두 개의 가속기(Zend Optimizer, MMCache)를 동시에 사용하면 테스트 결과 실제로는 에 가깝습니다. FreeBSD에서 Zend 성능을 사용하는 경우 Suite의 효과는 있지만 테스트한 안정성은 상대적으로 낮습니다. 스레드가 FastCGI에서 제한하는 최대 동시 스레드 제한을 초과하면 어느 시점에서 FastCGI 프로세스가 중단될 수 있습니다. 유일한 해결책은 서버를 다시 시작하는 것입니다.
Linux/FreeBSD에서는 Apache를 웹 서버로 사용하는 경우 PHP를 Apache 모듈로 실행하는 것이 좋습니다. Zeus를 웹 서버로 사용하는 경우 FastCGI를 사용하여 PHP를 실행해야 합니다. 그러나 FastCGI에서는 프로세스 종료 문제가 발생할 수 있습니다. zeus를 중지하면 PIDFILE이 지워지지 않는 경우가 있습니다. 다음에 FastCGI를 시작하면 시작되지 않습니다. 잘못된 게이트웨이 오류가 발생하면 PIDFILE이 지워졌는지 확인해야 합니다. 그렇지 않으면 수동으로 지우고 Zeus를 다시 시작하세요. 가장 좋은 방법은 crontab을 사용하여 FastCGI를 정기적으로 자동으로 다시 시작하는 것입니다.
FastCGI 문제와 관련하여 일부 호스트에서는 정상적으로 실행되며 몇 달 동안은 문제가 없을 것입니다. 그러나 일부 호스트는 Windows이든 Linux/FreeBSD이든 운에 따라 더 자주 사용됩니다.

[4] 무료 PHP 가속기 선택에 대하여
           
주로 사용할 수 있는 무료 가속기에는 Zend Optimizer, Turck MMcache, ionCube PHP Accelerator가 있습니다.
(1) Zend Optimizer
공식 사이트
최신 버전 2.5.5
다운로드 주소
(2) Turck MMCache
공식 사이트
PHP v4.3.4/5.0.0b2용 최신 버전 2.4.6
다운로드 주소
최신 버전의 PHP는 4.3.9/5.0.2이므로 최신 버전의 PHP와 함께 Turck MMCache를 사용해야 하는 경우 별도로 컴파일해야 합니다. 이 테마의 첨부 파일에 컴파일된 Turck MMCache v2.4.7 CVS for PHP v4.3.9 및 Turck MMCache v2.4.7 CVS for PHP v5.0.2에 필요한 파일을 먼저 업로드했습니다. 참고: 이 두 파일은 Windows 호스트에만 적용 가능합니다. Linux/FreeBSD에서 사용하려면 MMCache를 별도로 컴파일해야 합니다.
그러나 PHP5.0.2용 MMCache 버전은 PHP 5.0.2에서 사용할 때 버그가 있다는 점에 유의해야 합니다. 당분간 PHP5.0.2에서는 MMCache를 사용하지 않는 것이 좋습니다.
(3) ionCube PHP Accelerator(PHPA)
공식 사이트
최신 버전 1.3.3r2는 PHP 4.3.0용으로 빌드됩니다.
이 소프트웨어는 Solaris/FreeBSD/Linux에서만 사용할 수 있으며 Windows 및 다음을 지원하지 않습니다. 최신 버전의 PHP . Zend Optimizer 및 Turck MMcache는 다양한 서버(Windows/Linux/FreeBSD), 다양한 웹 서버(IIS/Apache/Zeus) 및 다양한 버전의 PHP를 지원합니다. 따라서 이 소프트웨어를 사용하지 않는 것이 좋습니다. P [5] PHP 충전 가속기의 선택

사용할 수 있는 충전 가속기는 Zend Winenabler와 Zend Performance Suite입니다.
(1) Zend WinEnabler
공식 사이트
알 수 없는 이유로 Zend 공식은 최근 이 소프트웨어와 관련된 모든 웹 페이지를 갑자기 삭제했습니다. 이 소프트웨어는 더 이상 판매되지 않습니다. 이것은 Windows용 Zend Performance Suite 버전입니다. FastCGI 모드에서 실행되는 PHP를 사용하므로 안정성이 보장되지 않을 수 있습니다.
(2) Zend Performance Suite
공식 사이트
최신 버전 4.0
이 소프트웨어는 Linux/FreeBSD에서만 사용할 수 있으며 Apache 및 Zeus를 지원합니다. PHP 프로그램의 속도를 20배 이상 높일 수 있다고 하는데 가격이 1,875달러부터 비교적 비싸다. 크랙 버전은 온라인에서 다운로드할 수 있지만 버전은 3.6.0/3.5.0이며 PHP 5.0을 지원하지 않습니다. 이 패키지에는 Zend Accelerator 및 이전 Zend Cache의 기능이 포함되어 있습니다. 참고: 이 소프트웨어를 사용하여 PHP 프로그램을 캐시하는 경우 파일 수정 사항을 적용하려면 웹 서버를 다시 시작해야 합니다.
[6] MySQL 설치 관련
                                                                                               >          설치 예정입니다. MySQL 4.0 이상에서는 쿼리 캐시를 사용하여 성능을 크게 향상시킬 수 있습니다(my.ini에서 설정해야 함). MySQL 4.1 이상은 새로운 프로토콜을 채택하여 속도를 30% 이상 높이고 메모리를 덜 차지합니다.
MySQL4.1.x 버전의 경우, PHP 5.x는 원래 mysql 확장 외에도 MySQL4.1.x 버전에 연결하기 위한 독점적인 mysqli 함수 확장을 제공합니다. 이런 방식으로 MySQL4.1.x에서는 mysqli를 사용합니다. 확장은 mysql을 사용하는 것보다 낫습니다. 확장은 SQL 작업 속도를 수십 배 향상시킬 수 있습니다. Ultimate Forum 프로그램은 mysql 확장과 함께 제공되며 별도로 구매하여 사용할 수 있는 Ultimate Forum mysqli 확장 모듈도 제공합니다.
Windows 호스트의 경우 mysqld-nt를 설치하면 됩니다. mysqld-max-nt를 사용할 필요가 없습니다.
참고: Windows에서 MySQL 4.0.x를 실행하는 경우 데이터베이스가 안정적이고 데이터 테이블 오류가 발생하지 않는지 확인하기 위해 각 데이터 테이블에서 다음 SQL 작업을 수동으로 수행해야 합니다.

ALTER TABLE table_name type=MyISAM;

여기서 table_name은 데이터 테이블 이름.

Linux 호스트의 경우 glibc를 설치할 수 있습니다(최신 버전은 2.3.3). 주소를 다운로드한 다음 내부에 LinuxThreads를 설치할 수 있습니다.
FreeBSD 호스트의 경우 LinuxThreads도 설치할 수 있지만 컴파일이 더 번거롭다는 점을 참고하세요.


이 기사에는 많은 내용이 포함되어 있지만 최고의 PHP 프로그램을 개발하려면 이러한 최적화 솔루션을 배워야 개발하는 프로그램이 더 완벽해질 것입니다.

위 내용은 가장 포괄적인 PHP 서버 성능 최적화 구성 솔루션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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