首页 > 代码库 > Xhprof安装笔记(PHP性能监控)

Xhprof安装笔记(PHP性能监控)

Xhprof是facebook开源出来的一个PHP性能监控工具,占用资源很少,甚至能够在生产环境中进行部署。它可以结合graphviz使用,能够以图片的形式很直观的展示代码执行耗时wget http://pecl.php.net/get/xhprof-0.9.2.tgztar zxvf xhprof-0.9.2.tgzcd xhprof-0.9.2/extension//usr/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-configmake && make install# 编辑php.ini:[xhprof]extension = xhprof.soxhprof.output_dir=/tmp重启服务     service php-fpm restart        # 测试下<?phpfunction my_dump($str) { print $str;}xhprof_enable();        // start profilingmy_dump(‘Funsion Wu‘);    // run program$xhprof_data = xhprof_disable();    // stop profilerprint_r($xhprof_data);    // display raw xhprof data for the profiler run?># 最后返回数组,就表示安装好了。具体哪些值是什么意思先别管,因为下面有UI的配置。会很直观!yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel vixie-cron crontabs readline-devel tk-devel telnet zlib zlib-devel libjpeg freetype freetype-devel lcms lcms-devel tkinter python-tools libjpeg-develyum -y install liberation-sans-fonts.noarch wget http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.24.0.tar.gztar zxf graphviz-2.24.0.tar.gzcd graphviz-2.24.0./configuremake && make install安装完成后,会生成 /usr/local/bin/dot 文件,你应该确保路径在PATH环境变量里,以便XHProf能找到它。为Xhprof配置一个访问站点(虚拟主机)比如做一个虚拟域名 xhprof.dev绑定到xhprof的站点根目录 /usr/local/xhprof-0.9.2/xhprof_html# 找到你要分析的代码,在代码开始处添加xhprof_enable();    // start profiling# 在代码结束位置添加$xhprof_data = xhprof_disable();        // stop profiler, display raw xhprof data for the profiler runinclude_once ("/usr/local/xhprof-0.9.2/xhprof_lib/utils/xhprof_lib.php");include_once ("/usr/local/xhprof-0.9.2/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 "\r\n------------------\r\n"."Assuming you have set up the http based UI for \r\n"."XHProf at some address, you can view run at \r\n"."http://xhprof.dev/index.php?run=$run_id&source=xhprof_foo"."\r\n------------------\r\n";然后进入程序输出的网址(比如 http://xhprof.dev/index.php?run=52c0ea0bef834&source=xhprof_foo ),进行查看下面是一些参数说明Inclusive Time                 包括子函数所有执行时间。Exclusive Time/Self Time  函数执行本身花费的时间,不包括子树执行时间。Wall Time                        花去了的时间或挂钟时间。CPU Time                        用户耗的时间+内核耗的时间Inclusive CPU                  包括子函数一起所占用的CPUExclusive CPU                  函数自身所占用的CPU点击 [View Full Callgraph] 能够以图文的形式查看,很方便注意: 需要使用ctype这个扩展,Callgraph图片生成依赖一些PHP系统级的函数,所以,最好去掉 php.ini 中的函数禁用

 

Xhprof安装笔记(PHP性能监控)