首先郑重声明php不是必须以cgi方式运行才可以使用apd
所以手册里面的 Make sure you have installed the CGI version of PHP and it is available in your current path along with the phpize script.
有误导
首先去http://pecl.php.net/package/apd 下载对用的apd包
我下载的apd-1.0.1.tgz,没有找见win下的dll,不过有源码可以直接编译dll
解压缩
然后正常的 编译 安装 可以参考 xdebug部分的安装
配置php.ini
[apd]
;注意是zend_extension 不是extension,是绝对路径,不能是相对路径,手册上有说明,多看看手册在测试
zend_extension=/data/app/php/lib/php/extensions/no-debug-non-zts-20050922/apd.so
apd.dumpdir = /data/website/apd
apd.statement_tracing = 0
apd.dumpdir 是日志地址
这里需要注意的是
zend_extension 千万别 extension 否则
PHP Warning: PHP Startup: Invalid library (maybe not a PHP library) ‘apd.so’ in Unknown on line 0
然后就可以做实验了
<?php
apd_set_pprof_trace();
XXXXX
?>
分析日志的方法 手册里这样写到
pprofp -R /tmp/pprof.22141.0
注意这里的pprofp 在你编译好的 apd的源码目录 其实就是一个php文件
这里你要修改pprofp文件开头的 php路径 才可以正常执行
php 以cgi方式运行的时候 据说 记着 -e参数 (看手册)
分析出来的结果 很帅吧
Trace for /XXXX.php
Total Elapsed Time = 0.54
Total System Time = 0.06
Total User Time = 0.13
Real User System secs/ cumm
%Time (excl/cumm) (excl/cumm) (excl/cumm) Calls call s/call Memory Usage Name
————————————————————————————–
100.0 0.00 0.54 0.00 0.13 0.00 0.06 1 0.0000 0.5362 0 main
100.0 0.00 0.54 0.00 0.13 0.00 0.06 1 0.0000 0.5362 0 apd_set_pprof_trace
98.7 0.04 0.53 0.01 0.12 0.00 0.06 14 0.0026 0.0378 0 require
83.4 0.00 0.45 0.00 0.10 0.00 0.04 1 0.0004 0.4471 0 DataProxy->run
61.1 0.33 0.33 0.02 0.02 0.00 0.00 5 0.0656 0.0656 0 DataProxy->getModule
10.1 0.00 0.05 0.00 0.03 0.00 0.02 1 0.0000 0.0542 0 MusicModule->onResponse
7.0 0.00 0.04 0.00 0.02 0.00 0.02 3 0.0003 0.0125 0 MusicModule->mr_param
6.8 0.04 0.04 0.02 0.02 0.02 0.02 3 0.0122 0.0122 0 MusicModule->mr_encrypt
5.8 0.00 0.03 0.00 0.02 0.00 0.01 1 0.0000 0.0308 0 NEWSModule->onResponse
5.3 0.00 0.03 0.00 0.01 0.00 0.00 1 0.0000 0.0286 0 Query->processRawQuery
5.0 0.03 0.03 0.02 0.02 0.01 0.01 193 0.0001 0.0001 0 Query->get
3.9 0.02 0.02 0.02 0.02 0.01 0.01 15 0.0014 0.0014 0 fetime
3.8 0.01 0.02 0.01 0.02 0.01 0.01 23 0.0006 0.0009 0 include
3.0 0.02 0.02 0.00 0.00 0.00 0.00 1 0.0161 0.0161 0 xml_iconv
2.6 0.01 0.01 0.00 0.00 0.00 0.00 32 0.0004 0.0004 0 html_substr
2.4 0.00 0.01 0.00 0.02 0.00 0.00 10 0.0000 0.0013 0 ModuleFactory->createModule
2.2 0.00 0.01 0.00 0.01 0.00 0.00 1 0.0000 0.0118 0 BlogModule->onResponse
1.4 0.00 0.01 0.00 0.00 0.00 0.00 1 0.0001 0.0077 0 MusicModule->get_rings
1.4 0.01 0.01 0.00 0.00 0.00 0.00 1 0.0075 0.0075 0 curl_fetch
1.1 0.00 0.01 0.00 0.00 0.00 0.00 5 0.0000 0.0012 0 add_tag_html_substr