让你的PHP引擎全速运转_PHP教程
程序员文章站
2022-05-14 21:42:36
...
作为流行的 Web 编程语言, PHP 的最大优势就是速度。
PHP4 已经在这方面做的非常好了,你几乎找不到比它更快的脚本编程语言了。但是如果你的应用负荷很大,而带宽又比较小,或者有其他的瓶颈影响你的服务器性能,那么,你不妨试试笔者为你开出的几个药方,看看是否灵验。
一、代码优化
一谈到代码优化,或许你想到的就是整齐明了的代码,但是本文的意思却不是在此,因为如果要寻求速度的话,就要对PHP 源码作相应的调整。一般说来就是去掉多余的注释,让代码不可读。但是这对于一个具有良好素养的程序员来说,简直就是不可思议的。好在Zend Technologies 公司发布了 Zend 优化引擎可以帮助你做到这一点。它现在是免费的,但是你必须遵循 Zend Optimizer 许可。这个产品可以对引擎产生的中间代码进行优化。
安装这个引擎比较简单,下载对应平台的版本以后,解开压缩文件,然后在 php.ini 文件里面加上下面两行,重新启动 Web 服务器,就搞定了。
zend_optimizer.optimization_level=15
zend_extension="/path/to/ZendOptimizer.so"
zend_loader.enable=Off
如果是 Win32 平台的话就应该是:
zend_optimizer.optimization_level=15
zend_extension_ts="C:path oendOptimizer.dll"
zend_loader.enable=Off
啊!没有搞错吧?怎么是三行?其实第三行是可选的。因为看起来把 zend_loader 关掉能提高一点速度,因此值得把这第三行放到 php.ini 。需要注意的是,关掉的前提条件是你没有在使用 Zend 加密程序。
二、缓冲
如果想要更进一步提升速度,我们就需要考虑采用缓冲技术了。有一些可选的解决方案,包括 Zend Cache (测试版本), APC, 以及 Afterburner Cache,另外还有 jpCache 等。
以上这些都是属于缓冲模块,他们把第一次对 .php 文件请求产生的中间代码存储在 Web 服务器的内存中,然后对以后的请求返回“编译好”的版本。因为这样减少了磁盘读写,而且都在内存工作,所以这个过程能显著提升应用性能,
现成的这类产品比较多,到底选择谁呢?
Zend Cache 是一款不错的商业产品,在第一次加载那些很大的 PHP 页面后,你会明显感受到速度的提升,服务器会留出更多的资源。可惜这个产品是要花银子的,但是在有些情形下,你可不要吝啬这些银子。
Afterburner Cache 是 Bware Technologies 的产品,目前还处于 Beta 版本,看起来似乎和 Zend Cashe 一样,但是它不能达到 Zend Cache 那样好的效果,也不能和 Zend 优化引擎一起工作,但是它是免费的,所以我采用了这个模块。
PHP4 已经在这方面做的非常好了,你几乎找不到比它更快的脚本编程语言了。但是如果你的应用负荷很大,而带宽又比较小,或者有其他的瓶颈影响你的服务器性能,那么,你不妨试试笔者为你开出的几个药方,看看是否灵验。
一、代码优化
一谈到代码优化,或许你想到的就是整齐明了的代码,但是本文的意思却不是在此,因为如果要寻求速度的话,就要对PHP 源码作相应的调整。一般说来就是去掉多余的注释,让代码不可读。但是这对于一个具有良好素养的程序员来说,简直就是不可思议的。好在Zend Technologies 公司发布了 Zend 优化引擎可以帮助你做到这一点。它现在是免费的,但是你必须遵循 Zend Optimizer 许可。这个产品可以对引擎产生的中间代码进行优化。
安装这个引擎比较简单,下载对应平台的版本以后,解开压缩文件,然后在 php.ini 文件里面加上下面两行,重新启动 Web 服务器,就搞定了。
zend_optimizer.optimization_level=15
zend_extension="/path/to/ZendOptimizer.so"
zend_loader.enable=Off
如果是 Win32 平台的话就应该是:
zend_optimizer.optimization_level=15
zend_extension_ts="C:path oendOptimizer.dll"
zend_loader.enable=Off
啊!没有搞错吧?怎么是三行?其实第三行是可选的。因为看起来把 zend_loader 关掉能提高一点速度,因此值得把这第三行放到 php.ini 。需要注意的是,关掉的前提条件是你没有在使用 Zend 加密程序。
二、缓冲
如果想要更进一步提升速度,我们就需要考虑采用缓冲技术了。有一些可选的解决方案,包括 Zend Cache (测试版本), APC, 以及 Afterburner Cache,另外还有 jpCache 等。
以上这些都是属于缓冲模块,他们把第一次对 .php 文件请求产生的中间代码存储在 Web 服务器的内存中,然后对以后的请求返回“编译好”的版本。因为这样减少了磁盘读写,而且都在内存工作,所以这个过程能显著提升应用性能,
现成的这类产品比较多,到底选择谁呢?
Zend Cache 是一款不错的商业产品,在第一次加载那些很大的 PHP 页面后,你会明显感受到速度的提升,服务器会留出更多的资源。可惜这个产品是要花银子的,但是在有些情形下,你可不要吝啬这些银子。
Afterburner Cache 是 Bware Technologies 的产品,目前还处于 Beta 版本,看起来似乎和 Zend Cashe 一样,但是它不能达到 Zend Cache 那样好的效果,也不能和 Zend 优化引擎一起工作,但是它是免费的,所以我采用了这个模块。
上一篇: 以小弟我之代码示例驳斥此等评语,看看什么叫模板引擎。
下一篇: Mysql的常用命令
推荐阅读
-
使用PHP+AJAX让WordPress动态加载文章的教程
-
让你的PHP同时支持GIF、png、JPEG
-
一周让你学会PHP 不错的学习资料
-
简单的方法让你的后台登录更加安全(php中加session验证)
-
《全栈营销之如何制作个人博客》之二:php环境安装及个人博客后台搭建 让你的博客跑起来
-
用php来改写404错误页让你的页面更友好
-
让你的Laravel 应用运行速度飞起来!(利用PHP OPcache)
-
php sprintf()函数让你的sql操作更安全
-
三大免费开源的php语言cms系统 用好它们让你一天建好一个网站
-
Laravel模板引擎Blade中section的一些标签的区别介绍,laravelblade_PHP教程