toxic

备忘录

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
       Xhprof 是facebook推出的轻量级的php性能分析工具,和Xdebug相比,XHProf更加易用和可控,尤其是生成流程图和调试数据对比的功能很好很强大。  下面简单介绍下Xhprof的安装及使用。

           1、安装

          可以从页面 下载相应版本及了解各个版本依赖条件。 安装前,先假设php的bin目录是:/usr/local/php/bin

[plain] view plaincopy
[root@localhost extension]# ln -s /usr/local/php/bin/phpize /usr/bin/phpize  
[root@localhost tool]# wget http://pecl.php.net/get/xhprof-0.9.2.tgz  
[root@localhost tool]# tar -zxvf xhprof-0.9.2.tgz   
[root@localhost tool]# cd xhprof-0.9.2/extension/  
[root@localhost tool]# phpize  
[root@localhost tool]# ./configure --with-php-config=/usr/local/php/bin/php-config  
[root@localhost tool]# make  
[root@localhost tool]# make install  
           通过上面的操作,如果运气不是非常糟糕的话,你应该看到类似这样的提示:Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/

          进入到php扩展库目录/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/ ,你将看到xhprof.so 共享库文件。

        2、配置

         在php.ini文件中,添加如下配置:

[html] view plaincopy
[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.output_dir=/tmp/xhprof  #注意 去生成/tmp/xhprof/这个文件夹 
        重启下php,就可以在使用xhprof了。

       3、拷贝文件

       把xhprof-0.9.2目录下的目录xhprof_html 和 xhprof_lib 下的所有文件拷贝到你网站的主目录下,假设网站主目录:/opt/wordpress

[plain] view plaincopy
[root@localhost xhprof-0.9.2]# cp -R xhprof_* /opt/wordpress  
       4、使用

       参考下面的解释说明:

[html] view plaincopy
<?php  
//cpu: XHPROF_FLAGS_CPU  
//内存: XHPROF_FLAGS_MEMORY  
//如果都监控用XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY  
xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);  
  
//需要性能分析的php代码  
  
//define('WP_USE_THEMES', true);  
  
  
//require('./wp-blog-header.php');  
  
//停止性能分析  
$data = xhprof_disable();   
  
  
//显示性能分析数据  
include_once "xhprof_lib/utils/xhprof_lib.php";   
include_once "xhprof_lib/utils/xhprof_runs.php";   
$objXhprofRun = new XHProfRuns_Default();   
  
//第一个参数 是xhprof_disable()的返回值  
//第二个参数 是自定义命名空间字符串   
//返回运行id,用这个id查看相关运行结果  
$run_id = $objXhprofRun->save_run($data, "xhprof");  
   
//查看运行结果的url  
//run的值来源于save_run的返回值  
//source值来源于save_run的第二个参数                                   
//www.abc.com 需要用自己的域名替换  
echo "http://www.abc.com/xhprof_html/index.php?run=".$run_id."&source=xhprof";  
      在浏览器中打开输出的url,及可看到相关的性能信息。

 

posted on 2014-04-04 17:20  toxic  阅读(320)  评论(0编辑  收藏  举报