PHP效能分析工具XHProf

2021-05-12 13:15:57 字數 2781 閱讀 5290

xhprof是facebook開源出來的乙個php輕量級的效能分析工具,跟xdebug類似,但效能開銷更低,還可以用在生產環境中,也可以由程式開關來控制是否進行profile。基於瀏覽器的效能分析使用者介面能更容易檢視,或是與同行們分享成果。也能繪製呼叫關係圖。在資料收集階段,它記錄呼叫次數的追蹤和包容性的指標弧在動態callgraph的乙個程式。它獨有的資料計算的報告/後處理階段。在資料收集時,xhprofd通過檢測迴圈來處理遞迴的函式呼叫,並通過給遞迴呼叫中每個深度的呼叫乙個有用的命名來避開死迴圈。

xhprof的輕量級性質和匯聚功能,使得它非常適合用於收集「生產環境」的效能統計資料的統計。

一、編譯安裝xhprof

二、配置 php.ini 檔案

vi vi /usr/local/webserver/php/etc/php.ini  修改php.ini

[xhprof]

extension=xhprof.so

;; directory used by default implementation of the ixhprofruns

; inte***ce (namely, the xhprofruns_default class) for storing

; xhprof runs.

;xhprof.output_dir=

ok 重啟web伺服器。為了更加清晰顯示程式執行、呼叫結構,安裝graphviz。

三、安裝graphviz:

四、應用xhprof

客戶端能很靈活地儲存他們從xhprof執行中得到的xhprof原始資料。使用者介面層的xhprof提供了乙個 ixhprofruns介面(見xhprof_lib/utils/xhprof_runs.php ),客戶端可以利用。這使得客戶端能夠告訴使用者介面層,如何獲取xhprof執行後產生的對應資料。

xhprof的ui 庫自帶的有乙個基於檔案的ixhprofruns介面實現,即「 xhprofruns_default」(見xhprof_lib/utils/xhprof_runs.php)。這個自帶的實現將xhprof執行結果存在ini配置的xhprof.output_dir引數指定的某個目錄下。

一次xhprof執行,必須用乙個命名空間和執行編號來唯一確定。

假設使用ixhprofruns介面的xhprofruns_default這個預設實現方式,如:

//xhprofstart.php 檔案

<?php

$xhprof_debug     =   false;

$debuguseridarray =   array(

123456     =>     1,

456152  =>  1,

);if (function_exists('xhprof_enable') && !empty($debuguseridarray[$winduid]))

if ($xhprof_debug)

?>

//xhprofend.php 檔案

<?php

if (true    ==  $xhprof_debug)

echo '';

?>

程式中應用:

include /var/www/html/xhprofstart.php

// run program

....

include /var/www/html/xhprofend.php

將profile開關程式放在你所要進行分析的程式部分,就會將執行結果儲存在xhprof.output_dir ini引數指定的特定目錄下。檔案的名稱可能會是23dffaa3a3f66.xhprof_foo類似的檔案; 兩部分分別是執行編號(23dffaa3a3f6)和命名空間(xhprof_foo)。

XHProf效能分析工具

安裝xhprof wget tar zxf xhprof 0.9.2.tgz cd xhprof 0.9.2 拷貝顯示檔案到要測試的 裡 php.ini中新增 extension dir usr local webserver php lib php extensions no debug non ...

PHP效能分析工具xhprof的安裝使用與注意事項

前言 xhprof由facebook開源出來的乙個php效能監控工具,占用資源很少,甚至能夠在生產環境中進行部署。它可以結合graphviz使用,能夠以的形式很直觀的展示 執行耗時。下面主要講一下安裝和使用過程 1 安裝 1 和解壓 wget tar zxvf xhprof 0.9.4.tgz 2 ...

php效能測試工具 xhprof

如果是測壓力有apache的ab 如果要看效能則有xdebug和xhprof.還有linux的strace命令來跟蹤程式的執行時的系統呼叫 apche的併發連線不如ngnix,apche的併發連線數大概在1000左右,ngnix在萬級別了 最近伺服器總是出現掛機的問題,通過監控圖發現系統cpu使用已...