本机环境为redhat6.1
安装之前确认phpize有没有安装
命令不识别后,安装php-devel后,phpize即可使用。
1.安装XHProf
wget http://pecl.php.net/get/xhprof-0.9.2.tgz
tar zxvf xhprof-0.9.2.tgz
cd xhprof-0.9.2/extension/
/usr/bin/phpize
./configure --with-php-config=/usr/bin/php-config
make && make install
/usr/bin为我自己php默认目录,安装成功后会出现Installing shared extensions: /usr/lib/php/modules/
2.在php.ini中配置extension
extension_dir="/usr/lib/php/modules/"
[xhprof]
extension=xhprof.so
;; xhprof日志输出目
xhprof.output_dir=/var/log/xhprof
apache重启,php -m可查看是否安装成功
如果要查看生成的图片,还需要安装Graphviz
wget http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.28.0.tar.gz
tar zxvf graphviz-2.28.0.tar.gz
cd graphviz-2.28.0
./configure --prefix=/usr/local/graphviz-2.28.0
make
make install
XHProf分析报告字段含义 Function Name:方法名称。 Calls:方法被调用的次数。 Calls%:方法调用次数在同级方法总数调用次数中所占的百分比。 Incl.Wall Time(microsec):方法执行花费的时间,包括子方法的执行时间。(单位:微秒) IWall%:方法执行花费的时间百分比。 Excl. Wall Time(microsec):方法本身执行花费的时间,不包括子方法的执行时间。(单位:微秒) EWall%:方法本身执行花费的时间百分比。 Incl. CPU(microsecs):方法执行花费的CPU时间,包括子方法的执行时间。(单位:微秒) ICpu%:方法执行花费的CPU时间百分比。 Excl. CPU(microsec):方法本身执行花费的CPU时间,不包括子方法的执行时间。(单位:微秒) ECPU%:方法本身执行花费的CPU时间百分比。 Incl.MemUse(bytes):方法执行占用的内存,包括子方法执行占用的内存。(单位:字节) IMemUse%:方法执行占用的内存百分比。 Excl.MemUse(bytes):方法本身执行占用的内存,不包括子方法执行占用的内存。(单位:字节) EMemUse%:方法本身执行占用的内存百分比。 Incl.PeakMemUse(bytes):Incl.MemUse:峰值。(单位:字节) IPeakMemUse%:Incl.MemUse峰值百分比。 Excl.PeakMemUse(bytes):Excl.MemUse峰值。单位:(字节) EPeakMemUse%:Excl.MemUse峰值百分比。