PHP的一些性能调优方法

时间: 2010-05-27 / 分类: php / 浏览次数: 59 views / 0个评论 发表评论

后端的性能与很多因素有关,这里主要介绍与程序有关系的一些优化策略。
首先需要确定PHP性能瓶颈在那里
我们可以通过XDebug+KCacheGrind来分析性能占用情况

安装XDebug 和 KCacheGrind

XDebug在ybsd的安装::yinst i yphp_xdebug / apt-get install xdebug

KCacheGrind需要KDE的支持,在Unbuntu与Debian的安装命令:
sudo apt-get install kcachegrind

Xdebug:

http://xdebug.org/

KcacheGrind:

http://kcachegrind.sourceforge.net/cgi/bin/

设置XDebug

sudo vim /home/y/etc/php/xdebug.ini

xdebug.profiler_append=0
;是否覆盖上次产生的文件
xdebug.profiler_enable=1
;打开效能监测器。
xdebug.profiler_enable_trigger=0

xdebug.profiler_output_dir=/tmp

通过KCacheGrind查看

在xdebug.profiler_output_dir指定的目录里。会产生类似于cachegrind.out.xxxxx的一串数字的文件。

用kCacheGrind打开就可以看到如下的界面了。

这个页面上包含了各个函数执行占用的时间与比例的详细分布情况。
通过这个方法可以很快找到性能的瓶颈。

通过microtime来定位
XDebug+KCacheGrind能很直观的反映一些函数的调用情况,对于有环境,并且有条件的情况时,很方便总体的了解性能分布情况。
使用microtime则可以随心所欲的对各个细节与总体建立分析,不受其它环境的限制,只要装了PHP的环境就可以用。
定义一个专门用于时间记录的数组。假设为$ts = array();
用microtime()得到系统各个执行的时间戳,$ts[i] = microtime();
然后通过对$ts进行处理,找出相邻的执行时间最长的,及比较长的。
通过对$ts的处理,可以确定所有逻辑模块占用的时间,或者占用的比例。
土方法,很实用。

PHP性能优化的工具与方式介绍
对PHP的性能优化的方法可以包含有缓存,优化代码,重写服务器程序等一些技术。
将PHP编译的代码进行缓存:
这一类的缓存工具目前有很多,包括有:

PHP代码的优化经验:
初始化变量后再使用。避免php解析器报错。
对于引用两次以上的全局变量或者类的属性,将它赋值给局部变量。

发表评论

您的昵称 *

您的邮箱 *

您的网站