Xhprof的安裝

  • 簡介:XHProf是一個分層PHP性能分析工具。它報告函數級別的請求次數和各類指標,包括阻塞時間,CPU時間和內存使用狀況。一個函數的開銷,可細分紅調用者和被調用者的開銷,XHProf數據收集階段,它記錄調用次數的追蹤和包容性的指標弧在動態callgraph的一個程序。它獨有的數據計算的報告/後處理階段。在數據收集時,XHProfd經過檢測循環來處理遞歸的函數調用,並經過給遞歸調用中每一個深度的調用一個有用的命名來避開死循環。XHProf分析報告有助於理解被執行的代碼的結構,它有一個簡單的HTML的用戶界面( PHP寫成的)。基於瀏覽器的性能分析用戶界面能更容易查看,或是與同行們分享成果。也能繪製調用關係圖。
  • 編譯安裝
  1. 下載Xhprof:https://pecl.php.net/package/xhprof
  2. 自行解壓【若是不會,這個能夠百度了,的學習了】
  3. cd xhprof/extension【就是進入到你解壓的目錄裏面】
  4. 執行:/path/to/php/bin/phpize【這個就是你的phpize目錄,找到本身的路徑或者直接運行phpize,仍是找不到就whereis phpize應該能夠找到phpize】
  5. 執行:make && make install
  6. 這裏就算編譯完成了
  •  配置php.ini
  1. 添加如下幾行【什麼?找不到php.ini。。。。那就whereis php.ini】:php

    [xhprof] extension=xhprof.so xhprof.output_dir="/path/output/dir" #這個目錄是分析性能輸出目錄
  • 配置nginx

.xhprof會將收集到的性能數據按文件(一次數據收集存放一個文件)存放在xhprof.output_dir指定的目錄(注意添加寫權限)下,並經過xhprof/xhprof_html目錄下的PHP腳本程序提供網頁形式的展現,因此還需配置web服務提供對該腳本程序的訪問,以Nginx爲例:html

     server { listen 8080; server_name localhost; root /path/xhprof/xhprof_html; location / { index index.html index.php; try_files $uri /index.php?$query_string; } location ~ \.php$ { fastcgi_split_path_info ^(.+.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_index index.php; include fastcgi_params; }  }

重啓php-fpm && nginx  而後能夠瀏覽器訪問了。這個不用說了吧。。。nginx

  • 安裝依賴

xhprof_html提供的Web展現功能能夠提供代碼調用邏輯圖,但依賴於工具dot(即該邏輯圖是使用dot語言寫的),因此須要額外安裝依賴graphviz,例如在CentOS上:yum install graphvizweb

  • 實戰

要對目標PHP程序進行性能分析,須要在程序中注入xhprof提供的方法調用,來收集性能數據,而後經過命令行執行或HTTP請求來觸發。剩下的本身去幹吧。。。好運。瀏覽器

相關文章
相關標籤/搜索