您的位置:首页 > 编程语言 > PHP开发

在Yii2中如何使用xhprof性能分析工具

2015-05-17 12:49 316 查看
1.系统版本:
commond:@uname -a
Linux Edge 3.16.0-36-generic #48~14.04.1-Ubuntu SMP Wed Apr 15 13:11:28 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

2.php版本
commond:@php -v
PHP 5.5.9-1ubuntu4.9 (cli) (built: Apr 17 2015 11:44:57)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies
with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans

3.xhprof
download:http://pecl.php.net/package/xhprof

需要安装作图工具扩展:graphviz
sudo apt-get install graphviz

4.@see参考源网址 http://www.cnblogs.com/wangtao_20/archive/2013/09/13/3320497.html
5.将xhprof文件夹拷贝到apache2能访问到的目录中
\/home/zhgxun/Public/html/xhprof

5.在公共目录中建立文件
XHProf.php
引入以下两个文件,可以单独拷贝,这里使用路径方式
include_once "../../../xhprof/xhprof_lib/utils/xhprof_lib.php";
include_once "../../../xhprof/xhprof_lib/utils/xhprof_runs.php";

这一步才是紧要的,手册里其实已经准备的很好了,我遇到的问题是,在对应位置使用
xhprof_enable();

......

xhprof_disable();
打印数据已经呈现,但是没有再日记记录中发现该文件,但是使用官方提供的例子立马就生成了日记文件
我就想到路径的问题,就是说必须使用这两个文件xhprof_lib.php和xhprof_runs.php才可能在框架中生成日记文件
然后就尝试引入该文件后,顺利解决了这个问题,只是没有进行封装,也不麻烦,但清楚一些

6.在控制器中使用
引入;
include "../../common/core/XHProf.php";
开启:

xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);

使用该方法来调用:
$objXhprofRun = new \XHProfRuns_Default(); //需要使用绝对路径,就是加\标识,否则会在当前命名空间中查找该类
$objXhprofRun->save_run(xhprof_disable(), $this->id . '-' . $this->action->id);

7.查看

进入xhprof目录中

xhprof_html/后会看到生成的文件名,点击浏览
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: