PHP的优化 缓冲 压缩的办理筹划[网站编程]
本文“PHP的优化 缓冲 压缩的办理筹划[网站编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
本文提出了实用的PHP的优化,缓冲,紧缩实际的办理筹划.
作为风行的 Web 编程语言, PHP 的最大上风就是速度. PHP4 已经在这方面做的非常好了,你几近找不到比它更快的脚本编程语言了.但是假如你的利用负荷很大,而带宽又对比小,大概有其他的瓶颈影响你的服务器性能,那么,你无妨试试笔者为你开出的几个药方,看看能否灵验.
1、代码优化
一谈到代码优化,大概你想到的就是整齐明了的代码,但是本文的意思却不是在此,因为假如要追求速度的话,就要对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 加密程序.
2、缓冲
假如想要更进一步晋升速度,我们就需求考虑采取缓冲技术了.有一些可选的办理筹划,包含 Zend Cache (测试版本), APC, 以及 Afterburner Cache,别的还有 jpCache 等.
以上这些都是属于缓冲模块,他们把第一次对.php 文件恳求产生的中间代码存储在 Web 服务器的内存中,然后对今后的恳求返回“编译好”的版本.因为这样削减了磁盘读写,并且都在内存工作,所以这个历程能明显晋升利用性能,
现成的这类产品对比多,到底挑选谁呢?
Zend Cache 是一款不错的商业产品,在第一次加载那些很大的 PHP 页面后,你会明显感遭到速度的晋升,服务器会留出更多的资源.惋惜这个产品是要花银子的,但是在有些情形下,你可不要鄙吝这些银子.
Afterburner Cache 是 Bware Technologies 的产品,目前还处于 Beta 版本,看起来仿佛和 Zend Cashe 一样,但是它不能到达 Zend Cache 那样好的效果,也不能和 Zend 优化引擎一同工作,但是它是免费的,所以我采取了这个模块.
APC (Alternative PHP Cache) 是 Community Connect 公布的又一个免费模块,看起来仿佛可以用于生产环境了.
3、Web 内容紧缩
关于日益拥挤的网络来说,节俭带宽就像节俭用水一样是非常值得倡导的.按照IETF 尺度,大大都浏览器应当支持利用 gzip 紧缩的内容.也就是说你可以把用 gzip 紧缩的内容发送给浏览器,浏览器会透明的解压数据.
mod_gzip 是 Remote Communications 公司推出的免费 Apache 模块,能把静态的Web 内容紧缩后发送给浏览器.关于大大都静态网页来说,这个模块非常符合.固然
Remotecommunications 公司的人说这个模块支持全部那些 mod_php, mod_perl,mod 什么产生的动态内容,但是看起来还是不能工作,从 mod_gzip 的邮件列表来看,这个问题预计要到1.3.14.6f 才能办理.
假如要紧缩动态内容的话,我们可以采取class.gzip_encode.php,一个在脚本开始和完毕时利用的 PHP 类.对整个网站来说就是在 php.ini 的 auto_prepend 和 auto_append 中调用此中的函数.具体你可以阅读这个类的程序,这个程序注释得很好,作者几近把什么都奉告你了.不过利用之前,你的 PHP 要编译为支持 zlib.
关于 PHP 4.0.4 来说,一个新的办理筹划就是利用 ob_gzhandler,能到达和上面的类一样的效果,只要简单的在 php.ini 加入下面这句话便可以了:
output_handler = ob_gzhandler ;
这能让 PHP 激活输出缓冲,并紧缩全部输出.假若有什么特别的来由不想让全部的内容都紧缩输出的话,可以采取在 .htaccess 文件中加入下面的行,对对应目录下的文件举行紧缩.
php_value output_handler ob_gzhandler
也可以直接在 PHP 代码中加入:
ob_start("ob_gzhandler");
这项紧缩技术非常有效,但是对 Netscape Communicator 用户来说,因为不能紧缩图形文件,所以看上去没有完?姆⑺停?虼吮匦牍乇斩?jpeg 和 gif 文件的紧缩,IE 没有这个问题.
结论:
采取本文所谈论的技术应当能改进你的网站性能,但是需求注意的是:
- PHP 大概不是招致瓶颈的缘由,细心查抄其他缘由(比方:数据库)
- 你不大概把服务器性能疗养到最高状况.因此在抱怨 PHP 及其缓冲之前,考虑能否该进级服务器了,大概采取动态负载均衡技术(那但是一大笔银子哦).
- 不要低估内容紧缩,在你 100 Mb 的内部网上面看到 PHP 利用的速度晋升时,不要忘掉利用调制解调器的用户在那边抱怨你的 100Kb 的 HTML 页面.
以上是“PHP的优化 缓冲 压缩的办理筹划[网站编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |