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業務物件時最常用的容器。任何容器都應該包含如下服務 上面講的是容器核心模組應該提供的服務,但是容器還必須提供其它一些服務,增加...