Home > Backend Development > PHP Tutorial > 提升PHP执行速度全攻略_PHP

提升PHP执行速度全攻略_PHP

WBOY
Release: 2016-06-01 12:35:07
Original
875 people have browsed it

作者QQ新人类

PHP的优点之一是速度很快对于一般的网站应用可以说是已经足够了。不过如果站点的访问量很高、带宽窄或者其它的因素令服务器产生性能瓶颈的时候你可能得想想其它的办法来进一步提高PHP的速度了。这篇文章将从几个方面介绍如何做到这一点从而令用户浏览的时候更加“爽”。

  代码优化


  在这里并不想再次告诉你
如何写更干净的代码这一点我想每个人都清楚在需要速度的时候你可能已经在PHP源代码的优化上面做了不少的工作这里所提出的是这个烦琐的工作可以交由其它工具来完成。这就是Zend Optimizer此程序可以从Zend Technologies的网站(http://www.zend.com/)免费得到。它的原理很简单通过检测Zend引擎产生的中间代码并且优化它来得到更高的执行速度。我认为优化代码是一项颇烦琐的工作而且优化后的代码可能变得难以理解尤其是当你放下该PHP程序一段时间后突然间客户要求你做一些修改时可能你自己也不懂了;-)。因此我建议你在PHP的源代码较为复杂的时候用Zend Optimizer来做这个优化的工作好处是它不会令你的代码变得复杂难懂。

  安装Zend Optimizer是非常简单的。只要根据你使用的平台下载相关的预编译库并且在你的php.ini中加入两行重新启动你的web服务器就行了

  zend_optimizer.optimization_level=15zend_extension="/path/to/ZendOptimizer.so" zend_loader.enable=Off

  你可能有点奇怪不是说两行吗怎么变成三行了。不过第三行是可选的看来禁止这个zend_loader将会令优化的速度更快因此不妨在你的php.ini文件中多加这一行。要注意的是只有在你不使用Zend Encoder Runtime的时候才可以禁止zend_loader关于Zend Encoder Runtime还会在下文提到。

  要更快吗使用cache(缓冲)

  如果你的PHP应用还需要更快的速度下一个办法是缓冲。要实现这一点有几种不同的方式。我自己就试用过Zend Cache(评测版本)APC和Afterburner Cache。

  以上提到的都是“缓冲模块”。它们的原理都差不多在php文件被首次请求的时候通过将你的PHP源代码的中间代码存储在web服务器的内存中对于以后同样的请求都直接提供内存中的“编译”版本。由于它可以令磁盘的访问达到最小化因此这个方法确实可以极大地提高PHP的性能。更为方便的是当你的PHP源代码修改时缓冲的模块可以察觉到这些变化并且重新载入一样因此你不必担心客户得到的是旧版本的程序。这些缓冲的模块确实不错但是我应该选用哪一种呢下面分别介绍一下

  Zend Cache是Zend Technologies的一个商业化的产品(它也是免费为我们提供PHP引擎和Zend Optimizer的公司)。它确实不错。在首次运行后你可以明显察觉到PHP的速度得到了很大的提高服务器的空闲资源也更多了。缺点是你要付费购买它但就性价比来说还是非常值得的。

  Afterburner Cache是Bware Technologies(bwcache.bware.it)提供的免费缓冲模块。当前还只是beta版它所做的工作看来与Zend Cache差不多不过性能的提高就比不上Zend Cache而且现有的版本不能和Zend Optimizer一起工作不过它是免费的。

  APC(Alternative PHP Cache)是由Community Connect(apc.communityconnect.com)提供的另一个免费模块。它的工作很稳定速度也有不少的提高要注意的是我还没有找到一个官方的测试数据这些只是在我的应用上作测试因此不能下一个结论

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template