XHProf php輕量級的效能分析工具

2021-08-05 23:32:20 字數 1713 閱讀 3926

xhprof-php輕量級的效能分析工具

其中有一篇野馬分享的《php效能檢測擴充套件——xhprof》,不錯,之前就有聽說,這次就行動一下。

xhprof是facebook開源出來的乙個php輕量級的效能分析工具,跟xdebug類似,但效能開銷更低,還可以用在生產環境中,也可以由程式開 關來控制是否進行profile。

以下是記錄和總結:

安裝xhprof

php.ini中新增

extension_dir = "/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/"

這句我原來就有了,就這用新增下面兩句

extension=xhprof.so

xhprof.output_dir=/www/logs/xhprof

分析日誌輸出在/www/logs/xhprof目錄。

/usr/local/webserver/php/sbin/php-fpm reload

/usr/local/webserver/nginx/sbin/nginx -s reload

重新整理phpinfo頁面,看到輸出中有了xhprof資訊。

xhprof  0.9.2

cpu num  2

安裝graphviz,乙個畫圖工具

wget

tar zxf graphviz-2.24.0.tar.gz

cd graphviz-2.24.0

./configure

make && make install

程式試例

頭部:xhprof_enable();

//xhprof_enable(xhprof_flags_no_builtins); 不記錄內建的函式

//xhprof_enable(xhprof_flags_cpu + xhprof_flags_memory);  同時分析cpu和mem的開銷

$xhprof_on = true;

我覺得用xhprof_enable();就夠用了,只統計執行時間(wall time)。

生產環境可使用:

if (mt_rand(1, 10000) == 1)

尾部:if($xhprof_on)

執行程式,底部出現統計字樣,點過去就可以看到效能分析了。按執行時間排序,很容易找出化時間最長的函式。

點[view full callgraph]圖形化顯示,最大的效能問題會用紅色標出,其次是黃色,很明顯。

官方文件:

Nginx 效能優越的輕量級web server

今天開啟maxthon cn.maxthon.com 發現500錯誤,後面有出個單詞 nginx 按照我知道的,500錯誤的頁面都會跟著伺服器軟體名稱,覺著沒見過這個單詞,google了一下 找到如下發現 nginx,可以發音為 engine x 是apache2.2 mod proxy balan...

輕量級重量級

輕量級重量級某種程度上是以啟動程式需要的資源來決定。比如,ejb啟動的時候,需要消耗大量的資源,記憶體,cpu等,所以是重量級。而spring則不,所以是輕量級框架。量級主要是看對容器的依賴性所決定的,依賴性越小,越輕量.ejb往往內部做了很多服務,網上的說法是買一得三 而且你不想要就不行!比方說我...

輕量級容器

什麼是輕量級容器?為什麼我們需要輕量級容器?什麼是輕量級容器 所謂容器 container 指應用 的執行框架。業務物件在容器裡執行,被容器管理。像ejb就是過去管理j2ee業務物件時最常用的容器。任何容器都應該包含如下服務 上面講的是容器核心模組應該提供的服務,但是容器還必須提供其它一些服務,增加...