windows下安裝PHP性能分析工具 xhprof 筆記
1.先phpinfo看看自己的php環(huán)境及版本
2.http://pecl.php.net/package/xhprof,這里下載對(duì)應(yīng)的windows版本擴(kuò)展
3.放在php/ext下面,刷新phpinfo,是不是有了xhprof選項(xiàng)信息了?
4.http://www.graphviz.org/Download_windows.php,下載2.8的graphviz,看報(bào)告用的,安裝到你指定目錄
5.修改php.ini,添加:
[xhprof]xhprof.output_dir=”c:/wamp/xhprof_log”
6.記得把2里面下載的xhprof_html解壓安裝到你的www目錄,比如wwwxhprof
配置xhprof目錄下的config.php
7.執(zhí)行 http://localhost/xhprof/examples/sample.php
看看c:/wamp/xhprof_log 目錄下有沒(méi)有日志文件 ?按照sample提示的查看報(bào)表:http://localhost/xhprof/xhprof_html/index.php?run=生成日志 的編號(hào)&source=xhprof_foo
另外一篇文章,參考一下:http://blog.sina.com.cn/s/blog_9703d89601011g7e.html
8.使用XHProf, 在你要監(jiān)測(cè)的Php代碼頭尾部分別加入代碼xhprof_enable()和xhprof_disable()
1). 查看單個(gè)報(bào)告。# 我們想要查看 4b4c239a86593.xhprof 這個(gè)報(bào)告的詳細(xì)信息,查看鏈接如下:http://ecos.cn/xhprof_html/index.php?run=4b4c239a86593&source=xhprof2). 比較兩個(gè)報(bào)告。# 我們想比較 4b4c239a86593.xhprof 和 4b4c2645794f0.xhprof 兩個(gè)報(bào)告,查看鏈接如下:http://ecos.cn/xhprof_html/index.php?run1=4b4c239a86593&run2=4b4c2645794f0&source=xhprof
我們可以看到精確到函數(shù)級(jí)的分析數(shù)據(jù),包括調(diào)用次數(shù)、CPU、內(nèi)存等,還可以不斷的向下跟蹤。
相信如此詳細(xì)的數(shù)據(jù),將會(huì)給程序優(yōu)化工作,帶來(lái)巨大的幫助和便利。
9.而xhprof就顯得很輕量,是否記錄profile可以由程序控制,因此,用在生產(chǎn)環(huán)境中也就成為一種可能。在它的文檔上可以看到這樣一種用法:
以萬(wàn)分之一的幾率啟用xhprof,平時(shí)悄悄的不打槍。
if (mt_rand(1, 10000) == 1) { xhprof_enable(XHPROF_FLAGS_MEMORY); $xhprof_on = true;}
在程序結(jié)尾處調(diào)用方法保存profile
if ($xhprof_on) { // stop profiler $xhprof_data = xhprof_disable(); // save $xhprof_data somewhere (say a central DB) ...}
也可以用register_shutdown_function方法指定在程序結(jié)束時(shí)保存xhprof信息,這樣就免去了結(jié)尾處判斷,給個(gè)改寫的不完整例子:
if (mt_rand(1, 10000) == 1) { xhprof_enable(XHPROF_FLAGS_MEMORY); register_shutdown_function(create_funcion(’’, '$xhprof_data = xhprof_disable(); save $xhprof_data;'));}
相關(guān)文章:
1. PHP字符串前后字符或空格刪除方法介紹2. html小技巧之td,div標(biāo)簽里內(nèi)容不換行3. 將properties文件的配置設(shè)置為整個(gè)Web應(yīng)用的全局變量實(shí)現(xiàn)方法4. nestjs實(shí)現(xiàn)圖形校驗(yàn)和單點(diǎn)登錄的示例代碼5. python開(kāi)發(fā)飛機(jī)大戰(zhàn)游戲6. laravel ajax curd 搜索登錄判斷功能的實(shí)現(xiàn)7. 以PHP代碼為實(shí)例詳解RabbitMQ消息隊(duì)列中間件的6種模式8. css進(jìn)階學(xué)習(xí) 選擇符9. Echarts通過(guò)dataset數(shù)據(jù)集實(shí)現(xiàn)創(chuàng)建單軸散點(diǎn)圖10. python實(shí)現(xiàn)自動(dòng)化辦公郵件合并功能
