PHP性能优化工具--xhprof安装,这里我先贴出大致的步骤:
1.获取xhprof
2.编译前预处理
3.编译安装
4.配置php.ini
5.查看运行结果
那么下面我们开始安装xhprof工具吧:
1.获取xhprof可以输入网址直接下载,或者wget
#wget http://pecl.php.net/get/xhprof-0.9.4.tgz
#tar zxf xhprof-0.9.4.tgz
2.编译前预处理在编译xhprof之前,先做一下预处理,生成configure文件;
#cd xhprof-0.9.4
#cd extension
#phpize
phpize 没有这个命令用来扩展php扩展模块phpize是属于php-devel的内容,所以只要运行yum install php-devel就行。命令:yum install php-devel -y位置:/usr/bin/phpize
3.编译安装
#./configure --with-php-config=/usr/bin/php-config
#make && make install
安装成功
4.配置php.ini在php的配置文件后面追加,xhprof扩展,php.ini
[xhprof]
extension=xhprof.so;
xhprof.output_dir=/usr/share/nginx/html/tmp/xhprof
注:如果是64位系统需要将xhprof.so文件拷贝 /lib64的目录下
#cp /usr/lib64/php/modules/xhprof.so /lib64/
5.查看运行结果将实例拷贝到自己到web目录下,进行实例演示:
#cp -r examples xhprof_html xhprof_lib /usr/share/nginx/html/xhprof
a.运行实例查看效果,在浏览器输入http://localhost/xhprof/examples/sample.phpb.复制上面到运行到结果(http路径),再次放入浏览器,填好前面对应的域名:http://localhost/xhprof/xhprof_html/index.php?run=5307089e3e0fe&source=xhprof_foos查看结果,正确:如果输入浏览器没有数据这种情况:Run #530707980ee18: Invalid Run Id = 530707980ee18错误结果:可能是你的配置权限不足,请给个权限,可以直接777,然后重新运行走后这个步骤看看效果。到这里xhprof安装就结束了,开始你的性能优化之旅吧,有了这个工具会事半功倍的~~对于xhprof的名词解释:
Function Name 函数名
Calls 调用次数
Calls% 调用百分比
Incl. Wall Time (microsec) 调用的包括子函数所有花费时间 以微秒算(一百万分之一秒)
IWall% 调用的包括子函数所有花费时间的百分比
Excl. Wall Time (microsec) 函数执行本身花费的时间,不包括子树执行时间,以微秒算(一百万分之一秒)
EWall% 函数执行本身花费的时间的百分比,不包括子树执行时间
Incl. CPU(microsecs) 调用的包括子函数所有花费的cpu时间。减Incl. Wall Time即为等待cpu的时间
减Excl. Wall Time即为等待cpu的时间
ICpu% Incl. CPU(microsecs)的百分比
Excl. CPU(microsec) 函数执行本身花费的cpu时间,不包括子树执行时间,以微秒算(一百万分之一秒)。
ECPU% Excl. CPU(microsec)的百分比
Incl.MemUse(bytes) 包括子函数执行使用的内存。
IMemUse% Incl.MemUse(bytes)的百分比
Excl.MemUse(bytes) 函数执行本身内存,以字节算
EMemUse% Excl.MemUse(bytes)的百分比
Incl.PeakMemUse(bytes) Incl.MemUse的峰值
IPeakMemUse% Incl.PeakMemUse(bytes) 的峰值百分比
Excl.PeakMemUse(bytes) Excl.MemUse的峰值
EPeakMemUse% EMemUse% 峰值百分比
错误处理:
failed to execute cmd: " dot -Tpng". stderr: `sh: dot: command not found '
原因:未安装图形化工具
yum install graphviz //centos
brew install graphviz //mac
界面优化:XHProf UI 分支
参考:http://witcher42.github.io/2013/12/24/xhprof-quick-overview/