PHP性能优化

来源:互联网 发布:七彩网络成绩 编辑:程序博客网 时间:2024/05/17 00:56

函数

1)、 函数职责清晰,一个函数只干一件事,不要杂揉过多的业务逻辑
2)、 函数代码体不要超过20行,反之,考虑拆分。
3)、 优先使用php内置函数
4)、 常量与函数同时能干一件事,优先使用常量。
例如:

                  · phpversion() < PHP_VERSION                  · get_class() < __CLASS__                  · is_null() < NULL ===

5)、 echo 的性能好于print,输入多个变量的时候用

echo $str,$str1

不用.连接符
6)、

$_SERVER[REQUEST_TIME];//替换time();

7)、 字符串替换

strtr()->str_replace()->preg_replace()->epreg();

8)、 发挥trim最大功效,替换substr。

  $filepath=trim($filename,’/’).’/’;

9)、Isset/empty 虽然两个函数功能有所差异,但在同样的情况下推荐使用 empty()
10)、isfile/file_exist 两个函数的功能有所不同,file_exist既可判断文件是否存在,也可以判断目录是否存在,在同样的情况下推荐使用is_file

文件

1)、 减少文件包含数,减少磁盘 IO
2)、 使用完整路径,或者容易转换的相对路径。避免在 include_path 查找
3)、 文件的代码行数不要超过 2000 行
4)、Require_once/include_once 效率低于 require/include, 需要额外的去查看系统是否已经调用过这个文件. 因为它们在一个 opcode 缓存下的调用非常慢
5)、程序执行文件用 requie/require_once,缓存文件用include/include_once。Include 效率好于 require
6)、优化 spl 中的文件自动加载机制,可参靠 yii
7)、类库文件加载,是否考虑类是否已经实例化,可考虑采用设计模式之单例模式
8)、文件读写的并发性

字符串

1)、 用单引号替代双引号引用字符串;避免检索字符串中的变量

判断

1)、 逻辑判断请优先使用switch 的方式,对于业务逻辑相对较多的情况请选择if/else,提高代码的可读性
2)、 尽量控制if/else判断的个数,如果太多请考虑功能优化或代码优化
3)、 尽量使用恒等用于比较判断,恒等的效率高于等于,而且还能避免一些类型强制转换的错误
4)、 if/else与_&&,单条语句判断请选择&&的形式, &&的效率高于if/else,如下 :

  if ($a == 1) {       $b = 2;   }

可选择为

($a == 1) && $b = 2;

缓存

1)、 使用php加速器,缓冲opcode
2)、 例用memcache/nosql
3)、 使用内存数据库、
4)、 使用文件缓存
5)、 缓冲功能

数据库优化

1)、 合理的商业需求
2)、 数据库 schema 架构优化
3)、 垂直与水平分库分表
4)、 索引优化,查询优化
5)、 第三方开源检索工具(sphinx)
6)、 主从数据库服务器的使用。

0 0
原创粉丝点击