第一部分:PHP程序部分
按需执行:
A:以正则为例, 与普通字符串函数相比,其效率是非常低的([php正则性能]).
很多情况下都可以避免的。
B:按需加载类似Bingo2(spl_autoload_register)
避免重复计算
A:for($i=0;$i<getTotal();$i++) //getTotal没有必要被重复调用
B:比如使用 memcached、redis 来减轻数据库压力。
PHP默认是把 SESSION 存储在一个文件中
把存储 session 分落在一个目录中,减轻单未见的读写频度
– 为每个项目设置他们独立的session 存储目录
– 利用php.ini的配置 session.save_path=”N;/path”将session 存储在多个目
录中
Session不采用文件存储,文件存储不是一个优秀的方案
– mm–共享内存存储
– apc–用 APC存储、获取、删除(见 php apc浅析)
– memcache–基于内存的存储服务
参考文献:
http://www.ibm.com/developerworks/cn/opensource/os-php-shared-memo
ry/
尽可能的用绝对路径,相对路径虽然简短但会产生额外的寻径开销。而且使用
绝对路径也很保险。
优化 Tips:
http://www.laruence.com/2011/03/24/858.html
分析 PHP代码执行过程:
Linux:
strace -ttt -o xxx php c.php
less xxx
ltrace -c /home/users/houhuiyang/odp/php/bin/php x.php
ltrace -e “__strtol_internal” /home/users/houhuiyang/odp/php/bin/php
x.php
Mac下面是:dtrace命令。
输出内容 gzip 压缩,可以通过配置apache和 nginx 实现,也可以通过php实
现压缩
php 的压缩的2种配置方式:
一):设置 php.ini中的参数 zlib.output_compression=1
二):代码中使用 ob_start(“ob_gzhandler”)
第二部分:PHP配置文件优化:http://php.net/manual/zh/ini.core.php
这里注意点是性能优化和安全
max_execution_time = 30
memory_limit = 128M
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
display_errors = Off
log_errors = On
cgi.fix_pathinfo = 0
log_errors = On