澳门新葡萄在线视频:让你的PHP引擎全速运转

作为盛行的Web编程说话,PHP的最大年夜上风便是速率。PHP4已经在这方面做的异常好了,你险些找不到比它更快的脚本编程说话了。然则假如你的利用负荷很大年夜,而带宽又对照小,或者有其他的瓶颈影响你的办事器机能,那么,你不妨试试笔者为你开出的几个药方


当前位置: 主页 >


作为盛行的 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\to\ZendOptimizer.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 优化引擎一路事情,然则它是免费的,以是我采纳了这个模块。

APC (Alternative PHP Cache) 是 Community Connect 宣布的又一个免费模块,看起来彷佛可以用于临盆情况了。

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 页面。

摘自:http://www.info365.com.cn/develop/web/php/article/20010418001.htm

作者:余夕

发表评论
加载中...

相关文章