로드 품질 문제는 일반적으로 다음 네 가지 측면에 속합니다.
1 데이터베이스
2 서버 CPU
3 하드 디스크 I/O
4 네트워크 대역폭
이 네 가지 고스트 외에도. 최적화할 만한 다른 것이 있나요? PHP는 정말 강력합니다. 오늘은 PHP의 스크립트 수준에서 PHP 성능을 조정하는 방법에 대해 이야기하겠습니다.
단일 서버에서 PHP의 성능을 향상시키려는 경우. "컴파일 캐시"를 사용할 수 있습니다. 컴파일된 캐시는 성능을 향상시킬 수 있을 뿐만 아니라 PHP 프로그램의 용량과 코드 복잡성이 증가함에 따라 서버 성능도 향상시킬 수 있습니다. 컴파일 캐시란 무엇입니까? 나중에 말씀 드리겠습니다. 먼저 PHP가 스크립트 파일을 컴파일하기 위해 수행해야 하는 두 단계에 대해 이야기해 보겠습니다.
1. PHP 엔진은 스크립트 파일을 읽고, 스크립트를 해석하고, ZEND 엔진에서 실행 가능한 중간 코드를 생성합니다
.2. 두 번째 단계에 주의해야 합니다. ZEND가 중간 코드 실행을 시작하는 시간입니다
. 첫 번째 단계는 PHP 스크립트 파일이 요청될 때마다 반복되는 단계입니다. 게다가 스크립트에 include()require() eval()이 포함되어 있으므로 이 프로세스는 첫 번째 단계를 재귀적으로 반복합니다. 얼마나 많은 소비가 관련되어 있는지 상상할 수 있습니다. 특히 PHP 파일이 큰 경우. 그렇다면 PHP 파일을 작성할 때 너무 많은 줄을 승인하지 않는 것이 권장되는 이유는 무엇입니까?
이쯤 되면 다들 이해하게 될 것이다. 사실, 우리는 첫 번째 단계에서 뭔가를 할 수 있습니다. 해석 파일의 첫 번째 단계에서 해석된 코드를 공유 메모리에 캐시하는 경우. 이 스크립트에 대한 두 번째 요청이 있는 경우 첫 번째 단계를 건너뛰고 두 번째 단계로 바로 이동할 수 있습니다. 첫 번째 단계가 이미 메모리에 캐시되어 있기 때문입니다.
비교를 위해 그림을 보겠습니다.
먼저 컴파일 캐시를 사용하지 않는 경우를 살펴보고
, 컴파일 캐시를 사용하는 경우를 살펴보면
이해가 될 것입니다. 오른쪽. 컴파일 캐시를 사용하면 많은 우회가 방지됩니다. 이는 코드에 포함 및 요구 사항이 많을 때 특히 효과적입니다.
이제 세 가지 컴파일 캐시를 소개합니다.
1 ionCube Accelerator는 오픈 소스가 아닙니다.
2 TheZendAccelerator는 돈을 원합니다. 나는 가난하다
3 APC 이것은 돈이 들지 않기 때문에 제가 가장 좋아하는 것입니다. 효과가 꽤 좋습니다. APC에 대해 이야기해 보겠습니다.
설치는 아마 이렇게 될 것 같습니다. 배를 통해 설치
#배 설치 APC
php.ini 수정 및 확장 추가
Extension = /path/to/apc.so
OK 아주 간단합니다. 하지만 PHP를 다시 실행하면. 이 APC는 이미 효과적입니다. 컴파일된 코드는 공유 메모리에 캐시됩니다. 멋지네요. 여자가 여자를 성교하는 것보다 기분이 좋습니다.
APC가 설치된 후에도 APC의 다양한 매개를 조정해야 합니다. . 물론 이는 자신의 프로젝트 환경에 따라 조정되어야 합니다.
APC에는 여러 매개변수가 있습니다. Baidu에 직접 가보세요.
끝났습니다.
아직 끝나지 않았습니다. 내 블로그 www.laoniphp.com 을 팔로우하세요.