目录情况:里面的php文件都在下面
root@192.168.136.128:~/software/xhprof-0.9.2# ls
CHANGELOG CREDITS examples extension LICENSE README xhprof_html xhprof_lib
文件来源:把上面的文件都放在/data0/htdocs/tools.jackxiang.com/xhprof/下
Host:192.168.136.128 tools.jackxiang.com
htdocs:/data0/htdocs/tools.jackxiang.com
访问地址:
http://tools.jackxiang.com/xhprof/xhprof_html/index.php?run=528c8c8a00e2b&source=hx
程序编写:
访问:http://tools.jackxiang.com/index.php
背景:以前用xdebug,现在听群里说有这么个玩意,是轻量级的,于是找了下,说是这xhprof比xdebug提示更明显,前面有一篇文章说过,我在此也再作下备注。
有人说自从xhprof出来之后分析PHP性能方便多了
以前都是自己写Trace工具,手工打点,记录 trace信息:
http://www.yiibase.com/php/view/180.html
作者:老王
调试PHP时,XDebug一直是大众的不二选择,搭配上Webgrind,可以获得不错的效果。今天看某人的栖息地里的介绍,才发现了XHProf,于是体验了一下,感觉很酷,与XDebug相比,运行更轻便,表现更易懂,下面记录一下体验过程。
安装XHProf:
wget http://pecl.php.net/get/xhprof-0.9.2.tgz
tar zxf xhprof-0.9.2.tgz
cd xhprof-0.9.2
cp -r xhprof_html xhprof_lib <directory_for_htdocs>
cd extension
phpize
./configure
make
make install
编辑php.ini:
[xhprof]
extension=xhprof.so
;
; directory used by default implementation of the iXHProfRuns
; interface (namely, the XHProfRuns_Default class) for storing
; XHProf runs.
;
xhprof.output_dir=<directory_for_storing_xhprof_runs>
重启服务让修改生效,现在就可以使用XHProf了,不过为了显示效果更炫,最好继续安装Graphviz。
安装Graphviz:
wget http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.24.0.tar.gz
tar zxf graphviz-2.24.0.tar.gz
cd graphviz-2.24.0
./configure
make
make install
安装完成后,会生成/usr/local/bin/dot文件,你应该确保路径在PATH环境变量里,以便XHProf能找到它。
使用XHProf:
// start profiling
xhprof_enable();
// run program
....
// stop profiler
$xhprof_data = xhprof_disable();
//
// Saving the XHProf run
// using the default implementation of iXHProfRuns.
//
include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_lib.php";
include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_runs.php";
$xhprof_runs = new XHProfRuns_Default();
// Save the run under a namespace "xhprof_foo".
//
// **NOTE**:
// By default save_run() will automatically generate a unique
// run id for you. [You can override that behavior by passing
// a run id (optional arg) to the save_run() method instead.]
//
$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_foo");
echo "---------------\n".
"Assuming you have set up the http based UI for \n".
"XHProf at some address, you can view run at \n".
"http://<xhprof-ui-address>/index.php?run=$run_id&source=xhprof_foo\n".
"---------------\n";
如此一来,会在上面设定的xhprof.output_dir目录里生成名字类似49bafaa3a3f66.xhprof_foo的数据文件,可以很方便的通过Web方式浏览效果:
http://<xhprof-ui-address>/index.php?run=49bafaa3a3f66&source=xhprof_foo
目前显示的是表格形式的显示,点击页面上的[View Full Callgraph],就能看到精美的图片显示了。
补充:发现一个名为XLOG:http://tekrat.com/php/xlog/ 的扩展,看上去不错,可以记录URL信息。和XDEBUG这样的扩展相比,XLOG更轻便,所以部署在生产服务器上不会对性能造成过大影响。
来源:http://hi.baidu.com/thinkinginlamp/item/6488cd3bc8e0f6be134b14cb
___________________________
简述:XHProf是一个分层PHP性能分析工具。它报告函数级别的请求次数和各种指标,包括阻塞时间,CPU时间和内存使用情况。一个函数的开 销,可细分成调用者和被调用者的开销,XHProf数据收集阶段,它记录调用次数的追踪和包容性的指标弧在动态callgraph的一个程序。它独有的数 据计算的报告/后处理阶段。在数据收集时,XHProfd通过检测循环来处理递归的函数调用,并通过给递归调用中每个深度的调用一个有用的命名来避开死循 环。XHProf分析报告有助于理解被执行的代码的结构,它有一个简单的HTML的用户界面( PHP写成的)。基于浏览器的性能分析用户界面能更容易查看,或是与同行们分享成果。也能绘制调用关系图。
环境:CentOS 5.5 x64
安装:
cd /root/tools
wget http://pecl.php.net/get/xhprof-0.9.2.tgz
tar zxf xhprof-0.9.2.tgz
cd xhprof-0.9.2
cd extension
/elain/apps/php/bin/phpize
./configure --with-php-config=/elain/apps/php/bin/php-config
make && make install
cd ../../
#2.安装Graphviz
wget http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.28.0.tar.gz
这个能下载:http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.24.0.tar.gz
目前最新:http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.34.0.tar.gz
tar zxf graphviz-2.28.0.tar.gz
cd graphviz-2.28.0
./configure --prefix=/elain/apps/graphviz
make && make install
cd ..
ln -s /elain/apps/graphviz/bin/* /bin/
安装完成后,会生成/usr/local/bin/dot文件,你应该确保路径在PATH环境变量里,以便XHProf能找到它。
文库:http://wenku.baidu.com/view/d2908ba9d1f34693daef3e84.html
#3.安装libpng
wget http://cdnetworks-kr-2.dl.sourceforge.net/project/libpng/libpng15/1.5.2/libpng-1.5.2.tar.gz
tar zxf libpng-1.5.2.tar.gz
cd libpng-1.5.2
./configure --prefix=/elain/apps/libpng
make && make install
cd ..
编辑php.ini
vi /elain/apps/php/etc/php.ini
extension = "xhprof.so"
[xhprof]
xhprof.output_dir="/elain/logs/xhprof/log"
重启php即可
来自:http://elain.blog.51cto.com/3339379/632303
root@192.168.136.128:~/software/xhprof-0.9.2# ls
CHANGELOG CREDITS examples extension LICENSE README xhprof_html xhprof_lib
文件来源:把上面的文件都放在/data0/htdocs/tools.jackxiang.com/xhprof/下
Host:192.168.136.128 tools.jackxiang.com
htdocs:/data0/htdocs/tools.jackxiang.com
访问地址:
http://tools.jackxiang.com/xhprof/xhprof_html/index.php?run=528c8c8a00e2b&source=hx
程序编写:
访问:http://tools.jackxiang.com/index.php
背景:以前用xdebug,现在听群里说有这么个玩意,是轻量级的,于是找了下,说是这xhprof比xdebug提示更明显,前面有一篇文章说过,我在此也再作下备注。
有人说自从xhprof出来之后分析PHP性能方便多了
以前都是自己写Trace工具,手工打点,记录 trace信息:
http://www.yiibase.com/php/view/180.html
作者:老王
调试PHP时,XDebug一直是大众的不二选择,搭配上Webgrind,可以获得不错的效果。今天看某人的栖息地里的介绍,才发现了XHProf,于是体验了一下,感觉很酷,与XDebug相比,运行更轻便,表现更易懂,下面记录一下体验过程。
安装XHProf:
wget http://pecl.php.net/get/xhprof-0.9.2.tgz
tar zxf xhprof-0.9.2.tgz
cd xhprof-0.9.2
cp -r xhprof_html xhprof_lib <directory_for_htdocs>
cd extension
phpize
./configure
make
make install
编辑php.ini:
[xhprof]
extension=xhprof.so
;
; directory used by default implementation of the iXHProfRuns
; interface (namely, the XHProfRuns_Default class) for storing
; XHProf runs.
;
xhprof.output_dir=<directory_for_storing_xhprof_runs>
重启服务让修改生效,现在就可以使用XHProf了,不过为了显示效果更炫,最好继续安装Graphviz。
安装Graphviz:
wget http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.24.0.tar.gz
tar zxf graphviz-2.24.0.tar.gz
cd graphviz-2.24.0
./configure
make
make install
安装完成后,会生成/usr/local/bin/dot文件,你应该确保路径在PATH环境变量里,以便XHProf能找到它。
使用XHProf:
// start profiling
xhprof_enable();
// run program
....
// stop profiler
$xhprof_data = xhprof_disable();
//
// Saving the XHProf run
// using the default implementation of iXHProfRuns.
//
include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_lib.php";
include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_runs.php";
$xhprof_runs = new XHProfRuns_Default();
// Save the run under a namespace "xhprof_foo".
//
// **NOTE**:
// By default save_run() will automatically generate a unique
// run id for you. [You can override that behavior by passing
// a run id (optional arg) to the save_run() method instead.]
//
$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_foo");
echo "---------------\n".
"Assuming you have set up the http based UI for \n".
"XHProf at some address, you can view run at \n".
"http://<xhprof-ui-address>/index.php?run=$run_id&source=xhprof_foo\n".
"---------------\n";
如此一来,会在上面设定的xhprof.output_dir目录里生成名字类似49bafaa3a3f66.xhprof_foo的数据文件,可以很方便的通过Web方式浏览效果:
http://<xhprof-ui-address>/index.php?run=49bafaa3a3f66&source=xhprof_foo
目前显示的是表格形式的显示,点击页面上的[View Full Callgraph],就能看到精美的图片显示了。
补充:发现一个名为XLOG:http://tekrat.com/php/xlog/ 的扩展,看上去不错,可以记录URL信息。和XDEBUG这样的扩展相比,XLOG更轻便,所以部署在生产服务器上不会对性能造成过大影响。
来源:http://hi.baidu.com/thinkinginlamp/item/6488cd3bc8e0f6be134b14cb
___________________________
简述:XHProf是一个分层PHP性能分析工具。它报告函数级别的请求次数和各种指标,包括阻塞时间,CPU时间和内存使用情况。一个函数的开 销,可细分成调用者和被调用者的开销,XHProf数据收集阶段,它记录调用次数的追踪和包容性的指标弧在动态callgraph的一个程序。它独有的数 据计算的报告/后处理阶段。在数据收集时,XHProfd通过检测循环来处理递归的函数调用,并通过给递归调用中每个深度的调用一个有用的命名来避开死循 环。XHProf分析报告有助于理解被执行的代码的结构,它有一个简单的HTML的用户界面( PHP写成的)。基于浏览器的性能分析用户界面能更容易查看,或是与同行们分享成果。也能绘制调用关系图。
环境:CentOS 5.5 x64
安装:
cd /root/tools
wget http://pecl.php.net/get/xhprof-0.9.2.tgz
tar zxf xhprof-0.9.2.tgz
cd xhprof-0.9.2
cd extension
/elain/apps/php/bin/phpize
./configure --with-php-config=/elain/apps/php/bin/php-config
make && make install
cd ../../
#2.安装Graphviz
wget http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.28.0.tar.gz
这个能下载:http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.24.0.tar.gz
目前最新:http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.34.0.tar.gz
tar zxf graphviz-2.28.0.tar.gz
cd graphviz-2.28.0
./configure --prefix=/elain/apps/graphviz
make && make install
cd ..
ln -s /elain/apps/graphviz/bin/* /bin/
安装完成后,会生成/usr/local/bin/dot文件,你应该确保路径在PATH环境变量里,以便XHProf能找到它。
文库:http://wenku.baidu.com/view/d2908ba9d1f34693daef3e84.html
#3.安装libpng
wget http://cdnetworks-kr-2.dl.sourceforge.net/project/libpng/libpng15/1.5.2/libpng-1.5.2.tar.gz
tar zxf libpng-1.5.2.tar.gz
cd libpng-1.5.2
./configure --prefix=/elain/apps/libpng
make && make install
cd ..
编辑php.ini
vi /elain/apps/php/etc/php.ini
extension = "xhprof.so"
[xhprof]
xhprof.output_dir="/elain/logs/xhprof/log"
重启php即可
来自:http://elain.blog.51cto.com/3339379/632303
作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/6339/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
最后编辑: jackxiang 编辑于2013-11-20 18:20
评论列表
2013-5-11 00:08 | wang
哎呀, 博客君和我同步, 最近也在弄这个呢。图形报表太帅了
分页: 1/1 1