php代码性能优化

php

2015-03-11 14:42

服务器的响应时间 2秒内 优秀 5秒内 不错 10秒糟糕

服务器的性能 cpu 内存 I/0 带宽


可以在需要测试的代码前后增加 2个时间戳  然后优化中间部分 查看其值 

@错误抑制符 尽量不要使用 影响速度

利用unset()及时释放不使用的内存

合理使用正则表达式                

尽量避免处理密集型大数据   

务必使用带引号字符串做键值  不输入引号 我先去查询常量 双引号 还会分析字符串的内容  所以单引号最块



服务器系统,硬盘读写,数据库,内存,缓存  影响的php

比如 拆分 数据库服务器 缓存服务器 数据存储服务器 等。


php操作数据库时间 = 网络传送+ 数据库  重点在数据库端消耗时间长。

开销次序:读写内存<<读写数据量(读写硬盘)<读写磁盘<读写网络数据(隐形开销:网络延迟)


开GZIP有什么好处? 但是会产生cpu额外的开销。
答:Gzip开启以后会将输出到用户浏览器的数据进行压缩的处理,这样就会减小通过网络传输的数据量,提高浏览的速度。 

多次请求,内容不变的情况下做输出内容的缓存 (局部数据缓存)

重叠时间窗口思想:也就是串行改成并行


-------------------------------------------------------------------------------------

XHPorf

这里下载两个文件 XHProf 0.10.3 for PHP 5.x  和 xhprof_html.zip

dll文件重命名为 php_xhprof.dll 放在php的ext目录下,然后在php.ini配置里面加入配置

[xhprof]

extension=php_xhprof.dll

xhprof.output_dir=E:/php/log/xhprof_log             不要带引号  保存xhprof分析日志的目录


重启你的wamp即可,看看phpinfo()里面有没有对应的文件

xhprof_html.zip 这个文件解压到你想测试的网站根目录xhprof

设置 xhprof 里面的config.php

define('ERROR_FILE', 'E:/php/log/xhprof_dot_errfile.log'); 错误日志

define('TMP_DIRECTORY', 'E:/php/log/xhprof_log/');         存xhprof分析日志的目录

define('DOT_BINARY', 'c:/Program Files/Grafika/Graphviz/bin/dot.exe');  生成图标的工具  需要自己安装

------------------------------------------------------------------------------------------------------

代码使用 

xhprof_enable();//开始

/*

 内容

*/

$xhprof_data = xhprof_disable();//结束,然后写入文件,注意目录

$XHPROF_ROOT = realpath(dirname(__FILE__).'/xhprof');

include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_lib.php";

include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_runs.php";

$xhprof_runs = new XHProfRuns_Default();

$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_foo");

echo "<a href='/xhprof/xhprof_html/?run=$run_id&source=xhprof_foo'>分析</a>";//


图标说明


Function Name 函数名称

Calls  调用次数

Incl. Wall Time(microsec)  当前之后执行时间总和

Excl. Wall Time(microsec)  执行时间