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
PHP底层
- 使用opcode扩展 缓存PHP的opcode代码,减小PHP的编译过程
- CPU密集或者复杂功能使用PHP的pecl扩展(swoole等优秀扩展的使用)
- HHVM,百度再用,不过仍是让咱们坐等PHPNG的问世,有PHPNG,HHVM就不是必须的选择了
固然良好的编码风格(目前PSR很流行 http://www.php-fig.org/),优雅的代码实现也很是重要
写代码,不要仅仅为了实现目的和功能,还要有诗人的情怀,尽可能打磨代码,精炼,如贾岛之推敲,追求本身代码的卓越web
随着项目的发展,就会有架构方面的变动,来应对更大的并发和请求数据库