windows下安裝PHP性能分析工具 xhprof 筆記
1.先phpinfo看看自己的php環境及版本
2.http://pecl.php.net/package/xhprof,這里下載對應的windows版本擴展
3.放在php/ext下面,刷新phpinfo,是不是有了xhprof選項信息了?
4.http://www.graphviz.org/Download_windows.php,下載2.8的graphviz,看報告用的,安裝到你指定目錄
5.修改php.ini,添加:
[xhprof]xhprof.output_dir=”c:/wamp/xhprof_log”
6.記得把2里面下載的xhprof_html解壓安裝到你的www目錄,比如wwwxhprof
配置xhprof目錄下的config.php
7.執行 http://localhost/xhprof/examples/sample.php
看看c:/wamp/xhprof_log 目錄下有沒有日志文件 ?按照sample提示的查看報表:http://localhost/xhprof/xhprof_html/index.php?run=生成日志 的編號&source=xhprof_foo
另外一篇文章,參考一下:http://blog.sina.com.cn/s/blog_9703d89601011g7e.html
8.使用XHProf, 在你要監測的Php代碼頭尾部分別加入代碼xhprof_enable()和xhprof_disable()
1). 查看單個報告。# 我們想要查看 4b4c239a86593.xhprof 這個報告的詳細信息,查看鏈接如下:http://ecos.cn/xhprof_html/index.php?run=4b4c239a86593&source=xhprof2). 比較兩個報告。# 我們想比較 4b4c239a86593.xhprof 和 4b4c2645794f0.xhprof 兩個報告,查看鏈接如下:http://ecos.cn/xhprof_html/index.php?run1=4b4c239a86593&run2=4b4c2645794f0&source=xhprof
我們可以看到精確到函數級的分析數據,包括調用次數、CPU、內存等,還可以不斷的向下跟蹤。
相信如此詳細的數據,將會給程序優化工作,帶來巨大的幫助和便利。
9.而xhprof就顯得很輕量,是否記錄profile可以由程序控制,因此,用在生產環境中也就成為一種可能。在它的文檔上可以看到這樣一種用法:
以萬分之一的幾率啟用xhprof,平時悄悄的不打槍。
if (mt_rand(1, 10000) == 1) { xhprof_enable(XHPROF_FLAGS_MEMORY); $xhprof_on = true;}
在程序結尾處調用方法保存profile
if ($xhprof_on) { // stop profiler $xhprof_data = xhprof_disable(); // save $xhprof_data somewhere (say a central DB) ...}
也可以用register_shutdown_function方法指定在程序結束時保存xhprof信息,這樣就免去了結尾處判斷,給個改寫的不完整例子:
if (mt_rand(1, 10000) == 1) { xhprof_enable(XHPROF_FLAGS_MEMORY); register_shutdown_function(create_funcion(’’, '$xhprof_data = xhprof_disable(); save $xhprof_data;'));}
相關文章: