20

PHP项目性能优化的三个层次

  • PHP语言层级
  • PHP周边(服务器,数据库,webserver)
  • PHP底层

语言层级

  • 尽量使用PHP原生函数和常量,类
    如果要实现的功能有原生PHP函数,则不要自己用PHP实现
  • 尽量使用性能更高的内置函数
    比如isset和array_key_exists都可以使用,则使用isset
  • 尽量不要使用错误抑制符@
  • 不要使用PHP处理cpu密集的业务,交给适合的语言去处理
  • 减少io操作,比如在一次请求中要生成多条日志,则尽量缓存一次写入
  • 代码尽量向上兼容,即尽可能的使用PHP最新版本,比如generaotr实现的range等,数组短语法

周边(展开则相当庞大了)

  • Linux内核优化,硬件提升(ssd硬盘,加内存)
  • 减少跨网络请求
  • MySQL 索引使用,NoSQL+MySQL的配合使用,MySQL主从等
  • Nginx 的配置优化
  • PHP-FPM配置优化
  • 使用PHP的最新版本,目前PHP 5.6,今年即将会来的PHPNG(PHP7)
  • 使用xhprof分析项目源码,找出瓶颈进行优化

这部分内容需要继续学习研究

PHP底层

  • 使用opcode扩展 缓存PHP的opcode代码,减少PHP的编译过程
  • CPU密集或者复杂功能使用PHP的pecl扩展(swoole等优秀扩展的使用)
  • HHVM,百度再用,不过还是让我们坐等PHPNG的问世,有PHPNG,HHVM就不是必须的选择了

当然良好的编码风格(目前PSR很流行 http://www.php-fig.org/),优雅的代码实现也非常重要
写代码,不要仅仅为了实现目的和功能,还要有诗人的情怀,尽量打磨代码,精炼,如贾岛之推敲,追求自己代码的卓越

随着项目的发展,就会有架构方面的变更,来应对更大的并发和请求


luxixing
3k 声望119 粉丝

最近在学习大数据相关知识