在新的工作安排下来前赶紧把手上工作优化下,本来是靠xdebug+grindview来的,不过还是麻烦,就换上这个轻量级的性能测试了。网上搜的大多都是lamp环境下的,wamp下的倒是不多,而且不好用,于是整理了这篇教程。
1.下载在这里 http://dev.freshsite.pl/php-extensions/xhprof.html 。
我们为您提供以下文件的站内下载地址:
xhprof_html.zip
php_xhprof_0.10.0_PHP_5.3.3_VC6_x86_Thread_Safe.zip
xhprof_0.10.3_php54_vc9_nts.zip
xhprof-0.10.3-PHP-5.4-vc9-ts.zip
我使用的是wamp 2.2d 32位的 ,这里罗嗦一句,既然用windows的wamp了,就不要装64位了,毕竟都是开发环境,正式环境肯定是32位的
这里下载两个文件 XHProf 0.10.3 for PHP 5.3 vc9.zip xhprof_html.zip
2.安装。 这步骤很简单,把XHProf 0.10.3 for PHP 5.3 vc9.zip里面的dll文件重命名为 php_xhprof.dll 放在php的ext目录下,然后在php.ini配置里面加入配置(不要忘记创建对应的文件夹)
2 | extension=php_xhprof.dll |
3 | ; directory used by default implementation of the iXHProfRuns |
4 | ; interface (namely, the XHProfRuns_Default class) for storing |
6 | xhprof.output_dir=”d:/wamp/logs/xhprof_log” |
重启你的wamp即可,看看phpinfo()里面有没有对应的文件
3.使用:
xhprof_html.zip 这个文件解压到你想测试的网站根目录就好了
现在网站一般使用的是框架,唯一入口这点最好了,直接在index.php里面写就好了,我用的是yaf框架
03 | require 'conf/db.inc.php' ; |
04 | $app = new Yaf_Application(BASE_PATH . "/conf/itxiangqin.ini" ); |
05 | Yaf_Registry::set( 'config' , Yaf_Application::app()->getConfig()); |
06 | $app ->bootstrap()->run(); |
07 | $xhprof_data = xhprof_disable(); |
08 | $XHPROF_ROOT = realpath (dirname( __FILE__ ). '/xhprof' ); |
09 | include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_lib.php" ; |
10 | include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_runs.php" ; |
13 | $xhprof_runs = new XHProfRuns_Default(); |
15 | $run_id = $xhprof_runs ->save_run( $xhprof_data , "xhprof_foo" ); |
16 | echo "<a href='http://www.du52.com/xhprof/xhprof_html/?run=$run_id&source=xhprof_foo'>分析</a>" ;//这里的www.du52.com换成你自己的域名就好了,本地就localhost |
还在学习使用中,写上几个缩写的
1 | Inclusive Time 包括子函数所有执行时间。 |
2 | Exclusive Time/Self Time 函数执行本身花费的时间,不包括子树执行时间。 |
5 | Inclusive CPU 包括子函数一起所占用的CPU |
6 | Exclusive CPU 函数自身所占用的CPU |