PHP项目性能优化

标签: php 性能优化 | 发表时间:2015-01-21 12:20 | 作者:luxixing
出处:http://segmentfault.com/blogs

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/),优雅的代码实现也非常重要
写代码,不要仅仅为了实现目的和功能,还要有诗人的情怀,尽量打磨代码,精炼,如贾岛之推敲,追求自己代码的卓越

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

相关 [php 项目 性能] 推荐:

PHP项目性能优化

- - SegmentFault 最新的文章
PHP项目性能优化的三个层次. PHP周边(服务器,数据库,webserver). 尽量使用PHP原生函数和常量,类. 如果要实现的功能有原生PHP函数,则不要自己用PHP实现. 尽量使用性能更高的内置函数. 比如isset和array_key_exists都可以使用,则使用isset. 尽量不要使用错误抑制符@.

查看php代码的性能——xhprof

- - cloudfly
今天是头脑风暴,想测试一下现在做得项目的执行效率. google了一下,发现了xhprof,试了一试,感觉真是个神器啊. 就是facebook放出的一个开源的,用来测试php代码性能的工具. 在网上也搜到了Xdebug,但是都说特别耗资源. 而xhprof是个轻量级的,而且用户体验也相当不错. 官方地址: http://pecl.php.net/package/xhprof.

PHP性能监控测试----Xhprof

- - CSDN博客架构设计推荐文章
开始工作到现在,除了做新手任务,基本上都是和服务器端打交道,做前端的时间很短. 目前公司的性能监控和测试:Xhprof和ab测试. Xhprof----facebook开源的,轻量级的PHP性能分析工具: 包括函数的调用次数,花费的时间(自身花费时间和包含内部函数花费的时间),所占内存/CPU,所占内存的峰值及所占百分比.

HHVM 是如何提升 PHP 性能的?

- - 码农网
HHVM 是 Facebook 开发的高性能 PHP 虚拟机,宣称比官方的快9倍,我很好奇,于是抽空简单了解了一下,并整理出这篇文章,希望能回答清楚两方面的问题:. 它为什么比官方的 PHP 快很多. 在讨论 HHVM 实现原理前,我们先设身处地想想:假设你有个 PHP 写的网站遇到了性能问题,经分析后发现很大一部分资源就耗在 PHP 上,这时你会怎么优化 PHP 性能.

php类方法在线性能测试

- - CSDN博客编程语言推荐文章
在两个月前一个群里的朋友问了一个问题,他说:“现在他们公司的项目有一个模块的性能在线表现非常差,很长时间没有查出问题所在,老板一怒之下让他把所有类方法的执行时间给记录进行分析,并且不能影响现在的项目性能. ”老板让他记录这些信息是为了分析具体影响性能的地方在哪些地方,待项目运行一段时间就去除. 这个需求导致两个个问题,第一是怎么监听这个模块所有类方法的执行时间,第二是怎么能在不影响现在项目性能的情况下完成(本身性能就很差了),下面我们就这两个问题来分析:.

Python 和 PHP 的 Web 服务器性能测试

- 非狐外传 - python.cn(jobs, news)
这几天一直在玩虚拟机,测了几种Python和PHP的Web服务器的性能,顺便记录下来. 宿主:MacBook Pro MC700. 操作系统:Mac OS X 10.6.8. CPU: 2.3GHz Intel Core i5(双核). 虚拟机:Virtual Box. 操作系统:Linux version 2.6.32-5-686 (Debian 2.6.32-35).

Python和PHP的Web服务器性能测试

- phus - keakon的涂鸦馆
这几天一直在玩虚拟机,测了几种Python和PHP的Web服务器的性能,顺便记录下来. 宿主:MacBook Pro MC700. 操作系统:Mac OS X 10.6.8. CPU: 2.3GHz Intel Core i5(双核). 虚拟机:Virtual Box. 操作系统:Linux version 2.6.32-5-686 (Debian 2.6.32-35).

PHP高性能全文检索开源解决方案:Xunsearch

- - 互联网旁观者
Xunsearch 是一个高性能、全功能的全文检索解决方案. Xunsearch 旨在帮助一般开发者针对既有的海量数据,快速而方便地建立自己的全文搜索引擎. Xunsearch 中文译名为“ 迅搜”,代码中的经常被缩写为 XS,既是英文名称的缩略也是中文声母缩写. 这儿的“迅”是快速的意思,至少包含了两层涵义:其一代表了搜索结果的响应能力,其二则为二次开发难度、速度.

php性能分析工具xhprof的安装使用

- - 操作系统 - ITeye博客
项目域名:http://www.ajia.com. 项目路径:/home/www/. cp -r xhprof_html xhprof_lib /home/www/  (复制xhprof_html、xhprof_lib这两个目录到“项目目录”下,此处目的是建立xhprof的数据分析目录,可将此目录配置成虚拟主机访问)  .

非侵入式监控PHP应用性能监控分析

- - 博学无忧
所谓非侵入式监控PHP应用性能,就是不修改现有系统代码,而对系统进行监控. 这样的系统才能更容易的应用到PHP应用中. 如果只是监控每次请求的访问时间. 在nginx的日志中有两个选项. $request_time 和 $upstream_response_time. 1、$request_time 指的就是从接受用户请求的第一个字节到发送完响应数据的时间,即包括接收请求数据时间、程序响应时间、输出响应数据时间.