대규모 시스템 개발에서 캐시는 의심할 여지 없이 중요합니다. PHP 세계에서는 선택할 수 있는 캐시 솔루션이 Java만큼 많지는 않지만 여전히 몇 가지 성숙한 솔루션이 있습니다. "고급 PHP 프로그래밍"에서 다음을 배웠습니다.
1. 언어 수준 최적화: PHP에는 많은 엔진 수준 API가 있으며 이러한 API를 통해 작업 최적화 목적을 달성하기 위해 엔진 실행 동작을 변경할 수 있습니다. 그 중에서 가장 가치 있는 일은 컴파일 결과를 캐시하는 것입니다. 우리 모두 알고 있듯이, PHP가 실행될 때마다 소스 코드 -> 컴파일 -> 중간 코드 -> 엔진 실행의 과정을 거쳐야 합니다. 일부 대형 애플리케이션의 경우 쓸데없는 컴파일에 상당한 시간이 소요됩니다. 페이지에 액세스하는 PHP만) 파일은 컴파일 프로세스를 거쳐야 합니다. 스크립트에서 require() 및 include()를 사용하는 경우 포함된 일부 파일을 컴파일해야 합니다. 컴파일 결과를 캐시하면 시스템 성능이 크게 향상될 수 있습니다(시스템의 복잡성과 규모에 비례하여).
컴파일 캐시를 구현할 수 있는 PHP 세계의 세 가지 주요 도구는 다음과 같습니다.
Zend Accelerator - Zend Industries에서 제작한 상용 폐쇄 소스 비용 컴파일러 캐시입니다.
ionCube Accelerator - 상업용 폐쇄 소스이지만 Nick Lindridge가 작성하고 그의 회사인 ionCube에서 배포하는 무료 컴파일러 캐시입니다.
APC - Daniel Cowgill과 George Schlossnagle이 작성한 무료 오픈 소스 컴파일러 캐시
과
같습니다. 190-823 190-802:
#pear install apc
명령을 실행한
후php.ini
파일에확장명 = /path/to/apc.so를
추가하면설치가 완료됩니다. 다음에 php를 실행하면 APC가 자동으로 활성화되고 컴파일 결과가 공유 폴더에 캐시됩니다. 다음번 실행 시에는 다시 컴파일하지 않고 메모리에서 직접 편집 결과를 얻어 실행합니다.
질문: APC는 마지막 컴파일 이후 변경된 PHP를 자동으로 다시 컴파일할 수 있습니까?
2. PHP 코드 최적화: 일부 도구를 사용하여 컴파일 후 고품질 중간 코드를 생성합니다. 세부 사항은 다음과 같습니다.
Zend Optimizer는 비공개 소스이지만 무료로 사용할 수 있는 최적화 프로그램입니다.
ionCube 가속기에는 통합 최적화 프로그램이 포함되어 있습니다.
PEAR의 개념 증명 최적화기
최적화기의 주요 기능은 다음과
같습니다.1. 절대 실행되지 않는 데드 코드와 같은 쓸모 없는 코드를 제거합니다.
2. 상수 계산(예: $seconds_in_day = 24*60*60을 $seconds_in_day = 86400으로 직접 변경)
3. 다음 명령문과 같은 기타 코드 최적화 함수는
++$count
로 최적화됩니다. 실행 속도가 빨라집니다. 물론 명령문이 $i = $count++이면 최적화가 수행되지 않습니다.