아래 편집자는 XHProf를 사용하여 PHP 성능 병목 현상을 찾는 예를 공유할 것입니다. 이는 좋은 참고 가치가 있으며 모든 사람에게 도움이 되기를 바랍니다.
XHProf는 PHP 성능을 테스트하기 위해 Facebook에서 개발한 확장 프로그램입니다. 이 기사에서는 XHProf를 사용하여 PHP 성능을 최적화하고 PHP 애플리케이션의 성능 병목 현상을 찾는 방법을 기록합니다.
1. 생성된 프로필 파일이 저장되는 위치를 /tmp로 지정합니다.
3. 관련 파일을 프로젝트로 옮깁니다.
//github上下载https://github.com/facebook/xhprof
unzip xhprof-master.zip
cd xhprof-master/extension/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --enable-xhprof
make && make install
[xhprof] extension=xhprof.so xhprof.output_dir=/tmp
4. graphivz 설치
//xhprof下载压缩包中的xhprof_html和xhprof_lib cp -r xhprof-master/xhprof_html /usr/local/nginx/html/xhprof/ cp -r xhprof-master/xhprof_lib /usr/local/nginx/html/xhprof/
5. 테스트 파일 작성
server{ listen 80; server_name will.com; location / { root /usr/local/nginx/html; index index.html; } location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
전체 빨간 봉투 데모)
//需要安装graphviz否则查看性能图片时候会报failed to execute cmd: " dot -Tpng". stderr: `sh: dot: command not found ' yum -y install graphviz
6. 분석 결과 확인 먼저 비즈니스 코드를 실행하고,
그런 다음 http://will.com/xhprof/xhprof_html/index.php 브라우저를 열고 마지막으로 xhprof를 생성합니다. file
참고 중간에 있는<span style="font-family:NSimsun">View Full Callgraph</span>
빨간색 성능 부분은 상대적으로 낮고 시간이 오래 걸립니다. 빨간색으로 표시된 기능에 따라 시스템 코드를 최적화할 수 있습니다
또한 xhprof 보고서 필드 의미:함수 이름: 메서드 이름입니다.
Calls: 메소드가 호출된 횟수입니다. <span style="font-family:NSimsun">View Full Callgraph</span>
Calls%: 동일한 수준의 총 메서드 호출 수에 대한 메서드 호출 수의 백분율입니다.
IWall%: 메소드 실행에 소요된 시간의 백분율입니다.
Excl. Wall Time(마이크로초): 하위 메소드 실행 시간을 제외하고 메소드 자체를 실행하는 데 걸리는 시간입니다. (단위: 마이크로초)
EWall%: 메소드 자체를 실행하는 데 소요된 시간의 백분율입니다. CPU 포함(마이크로초): 하위 메서드 실행 시간을 포함하여 메서드 실행에 소요된 CPU 시간입니다. (단위: 마이크로초) ICpu%: 메서드 실행에 소요된 CPU 시간의 비율입니다.
CPU 제외(마이크로초): 하위 메서드 실행 시간을 제외하고 메서드 자체를 실행하는 데 소요된 CPU 시간입니다. (단위: 마이크로초)
ECPU%: 메서드 자체를 실행하는 데 소요된 CPU 시간의 비율입니다.
Incl.MemUse(bytes): 하위 메서드 실행이 차지하는 메모리를 포함하여 메서드 실행이 차지하는 메모리입니다. (단위: 바이트)
IMemUse%: 메서드 실행에 사용되는 메모리 비율입니다.
Excl.MemUse(bytes): 하위 메서드 실행으로 점유된 메모리를 제외하고 메서드 자체 실행으로 점유된 메모리입니다. (단위: 바이트)
EMemUse%: 메소드 자체 실행에 의해 차지하는 메모리 비율입니다.
Incl.PeakMemUse(바이트): Incl.MemUse 피크 값. (단위: 바이트)
IPeakMemUse%: Incl.MemUse 최대 비율입니다.
Excl.PeakMemUse(바이트): Excl.MemUse 피크 값. 단위: (바이트)
EPeakMemUse%: Excl.MemUse 피크 백분율.
PHP 성능 병목 현상을 찾기 위해 XHProf를 사용하는 위의 예는 편집자가 공유한 모든 내용이 참고가 되기를 바라며 PHP 중국어 웹사이트를 지원해 주시길 바랍니다.
관심을 가질 수 있는 기사:
Laravel 프레임워크의 사용자 정의 템플릿 지침 관련 요약PHP를 재귀적으로 사용하여 빠른 정렬을 구현하는 방법에 대한 예
방법에 대한 자세한 튜토리얼 PHP에서 git 배포를 구현하려면위 내용은 XHProf를 사용하여 PHP 성능 병목 현상을 찾는 예제 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!