XHProf (A Hierarchical Profiler For PHP)是一个轻量级的分层性能测量分析器,是C实现的PHP Zend扩展,最初是facebook的大神们写的,是分层的函数调用级别的分析函数执行的时间、CPU计算时间、内存消耗的PHP性能分析工具。XHProf 除了用C实现的Zend扩展之外,还有一个PHP实现的界面,使得查看XHProf分析结果变得更加容易。
本文所使用的环境,Centos 6.5,PHP 7.0,Nginx 1.9。
安装xhprof
[root@kuleyang opt]# git clone -b php7 https://github.com/RustJason/xhprof.git
[root@kuleyang opt]# cd xhprof/
[root@kuleyang xhprof]# cd extension/
[root@kuleyang extension]# phpize
[root@kuleyang extension]# ./configure
[root@kuleyang extension]# make && make install
xhprof运行时配置(php.ini中加入)
extension=xhprof.so
xhprof.output_dir=/tmp/xhprof
其中xhprof.output_dir配置项指定了xhprof生成的分析报告保存的目录,要求此目录具有可写权限(不管PHP CLI,还是做为Web Server方式运行)
php -m查看扩展是否加载
安装Graphviz(将XHProf的分析报告以程序的函数调用图来展现)
[root@kuleyang opt]# wget http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.38.0.tar.gz
[root@kuleyang opt]# tar zxvf graphviz-2.38.0.tar.gz
[root@kuleyang opt]# cd graphviz-2.38.0
[root@kuleyang graphviz-2.38.0]# ./configure
[root@kuleyang graphviz-2.38.0]# make && make install
如加上–prefix编译参数,请将安装完毕的主目录中的bin目录路径加入到环境变量PATH中,另外需要注意的如果通过XHProf提供的PHP UI界面查看函数调用图,需要将PHP的proc_open类的函数打开。
关于XHProf的更详细的介绍
http://web.archive.org/web/20110514095512/ http://mirror.facebook.net/facebook/xhprof/doc.html
No comments:
Post a Comment