| 订阅 | 在线投稿
分享
 
 
 

PHP的优化,缓冲,压缩实际的解决方案

2008-12-22 08:09:01 编辑來源:互联网 国际版 评论
 
 
本文为【PHP的优化,缓冲,压缩实际的解决方案】的汉字拼音对照版显示拼音
  benwentichuleshiyongdePHPdeyouhuahuanchongyasuoshijidejiejuefangan

  zuoweiliuxingde Web bianchengyuyan PHP dezuidayoushijiushisudu PHP4 yijingzaizhefangmianzuodefeichanghaolenijihuzhaobudaobitagengkuaidejiaobenbianchengyuyanledanshiruguonideyingyongfuhehendaerdaikuanyoubijiaoxiaohuozheyouqitadepingjingyingxiangnidefuwuqixingnengnamenibufangshishibizheweinikaichudejigeyaofangkankanshifoulingyan

  yidaimayouhua

  yitandaodaimayouhuahuoxunixiangdaodejiushizhengqiminglededaimadanshibenwendeyisiquebushizaiciyinweiruguoyaoxunqiusududehuajiuyaoduiPHP yuanmazuoxiangyingdetiaozhengyibanshuolaijiushiqudiaoduoyudezhushirangdaimabukedudanshizheduiyuyigejuyoulianghaosuyangdechengxuyuanlaishuojianzhijiushibukesiyidehaozaiZend Technologies gongsifabule Zend youhuayinqingkeyibangzhunizuodaozheyidiantaxianzaishimianfeidedanshinibixuzunxun Zend Optimizer xukezhegechanpinkeyiduiyinqingchanshengdezhongjiandaimajinxingyouhua

  anzhuangzhegeyinqingbijiaojiandanxiazaiduiyingpingtaidebanbenyihoujiekaiyasuowenjianranhouzai php.ini wenjianlimianjiashangxiamianliangxingchongxinqidong Web fuwuqijiugaodingle

  zend_optimizer.optimization_level=15

  zend_extension="/path/to/ZendOptimizer.so"

  zend_loader.enable=Off

  ruguoshi Win32 pingtaidehuajiuyinggaishi

  zend_optimizer.optimization_level=15

  zend_extension_ts="C:path oendOptimizer.dll"

  zend_loader.enable=Off

  ameiyougaocuobazenmeshisanxingqishidisanxingshikexuandeyinweikanqilaiba zend_loader guandiaonengtigaoyidiansuduyincizhidebazhedisanxingfangdao php.ini xuyaozhuyideshiguandiaodeqiantitiaojianshinimeiyouzai使shiyong Zend jiamichengxu

  erhuanchong

  ruguoxiangyaogengjinyibutishengsuduwomenjiuxuyaokaolvcaiyonghuanchongjishuleyouyixiekexuandejiejuefanganbaokuo Zend Cache (ceshibanben), APC, yiji Afterburner Cachelingwaihuanyou jpCache deng

  yishangzhexiedoushishuyuhuanchongmokuaitamenbadiyicidui.php wenjianqingqiuchanshengdezhongjiandaimacunchuzai Web fuwuqideneicunzhongranhouduiyihoudeqingqiufanhuibianyihaodebanbenyinweizheyangjianshaolecipanduxieerqiedouzaineicungongzuosuoyizhegeguochengnengxianzhutishengyingyongxingneng

  xianchengdezheleichanpinbijiaoduodaodixuanzeshuine

  Zend Cache shiyikuanbucuodeshangyechanpinzaidiyicijiazainaxiehendade PHP yemianhounihuimingxianganshoudaosududetishengfuwuqihuiliuchugengduodeziyuankexizhegechanpinshiyaohuayinzidedanshizaiyouxieqingxingxianikebuyaolinsezhexieyinzi

  Afterburner Cache shi Bware Technologies dechanpinmuqianhuanchuyu Beta banbenkanqilaisihuhe Zend Cashe yiyangdanshitabunengdadao Zend Cache nayanghaodexiaoguoyebunenghe Zend youhuayinqingyiqigongzuodanshitashimianfeidesuoyiwocaiyonglezhegemokuai

  APC (Alternative PHP Cache) shi Community Connect fabudeyouyigemianfeimokuaikanqilaisihukeyiyongyushengchanhuanjingle

  sanWeb neirongyasuo

  duiyuriyiyongjidewangluolaishuojieyuedaikuanjiuxiangjieyueyongshuiyiyangshishifenzhidetichangdegenjuIETF biaozhundaduoshuliulanqiyinggaizhichi使shiyong gzip yasuodeneirongyejiushishuonikeyibayong gzip yasuodeneirongfasonggeiliulanqiliulanqihuitoumingdejieyashuju

  mod_gzip shi Remote Communications gongsituichudemianfei Apache mokuainengbajingtaideWeb neirongyasuohoufasonggeiliulanqiduiyudaduoshujingtaiwangyelaishuozhegemokuaishifenheshijinguan

  Remotecommunications gongsiderenshuozhegemokuaizhichisuoyounaxie mod_php, mod_perlmod shenmechanshengdedongtaineirongdanshikanqilaihuanshibunenggongzuocong mod_gzip deyoujianliebiaolaikanzhegewentigujiyaodao1.3.14.6f cainengjiejue

  ruguoyaoyasuodongtaineirongdehuawomenkeyicaiyongclass.gzip_encode.phpyigezaijiaobenkaishihejieshushi使shiyongde PHP leiduizhenggewangzhanlaishuojiushizai php.ini de auto_prepend he auto_append zhongtiaoyongqizhongdehanshuxiangxinikeyiyueduzhegeleidechengxuzhegechengxuzhushidehenhaozuozhejihubashenmedougaosunilebuguo使shiyongzhiqiannide PHP yaobianyiweizhichi zlib

  duiyu PHP 4.0.4 laishuoyigexindejiejuefanganjiushi使shiyong ob_gzhandlernengdadaoheshangmiandeleiyiyangdexiaoguozhiyaojiandandezai php.ini jiaruxiamianzhejuhuajiukeyile

  output_handler = ob_gzhandler ;

  zhenengrang PHP jihuoshuchuhuanchongbingyasuosuoyoushuchuruguoyoushenmeteshudeliyoubuxiangrangsuoyoudeneirongdouyasuoshuchudehuakeyicaiyongzai .htaccess wenjianzhongjiaruxiamiandexingduiduiyingmuluxiadewenjianjinxingyasuo

  php_value output_handler ob_gzhandler

  yekeyizhijiezai PHP daimazhongjiaru

  ob_start("ob_gzhandler");

  zhexiangyasuojishushifenyouxiaodanshidui Netscape Communicator yonghulaishuoyinweibunengyasuotuxingwenjiansuoyikanshangqumeiyouwanmutinggeshunguidutuozhan?jpeg he gif wenjiandeyasuoIE meiyouzhegewenti

  jielun

  caiyongbenwensuotaolundejishuyinggainenggaishannidewangzhanxingnengdanshixuyaozhuyideshi

  - PHP kenengbushidaozhipingjingdeyuanyinzaixijianchaqitayuanyinlirushujuku

  - nibukenengbafuwuqixingnengtiaojiedaozuigaozhuangtaiyincizaimaiyuan PHP jiqihuanchongzhiqiankaolvshifougaishengjifuwuqilehuozhecaiyongdongtaifuzaipinghengjishunakeshiyidabiyinzio

  - buyaodiguneirongyasuozaini 100 Mb deneibuwangshangmiankandao PHP yingyongdesudutishengshibuyaowangji使shiyongtiaozhijietiaoqideyonghuzainalimaiyuannide 100Kb de HTML yemian原文
 
 
本文提出了实用的PHP的优化,缓冲,压缩实际的解决方案。 作为流行的 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 优化引擎一起工作,但是它是免费的,所以我采用了这个模块。 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 页面。
󰈣󰈤
日版宠物情人插曲《Winding Road》歌词

日版宠物情人2017的插曲,很带节奏感,日语的,女生唱的。 最后听见是在第8集的时候女主手割伤了,然后男主用嘴帮她吸了一下,插曲就出来了。 歌手:Def...

兄弟共妻,我成了他们夜里的美食

老钟家的两个儿子很特别,就是跟其他的人不太一样,魔一般的执着。兄弟俩都到了要结婚的年龄了,不管自家老爹怎么磨破嘴皮子,兄弟俩说不娶就不娶,老父母为兄弟两操碎了心...

网络安全治理:国家安全保障的主要方向是打击犯罪,而不是处置和惩罚受害者

来源:中国青年报 新的攻击方法不断涌现,黑客几乎永远占据网络攻击的上风,我们不可能通过技术手段杜绝网络攻击。国家安全保障的主要方向是打击犯罪,而不是处置和惩罚...

 
 
 
>>返回首页<<
 为你推荐
 
 
 
 转载本文
 UBB代码 HTML代码
复制到剪贴板...
 
 
 热帖排行
 
清纯得让人窒息(7)
清纯得让人窒息(6)
天泽海韵宣传片
赣州文庙
 
 
王朝网络微信公众号
微信扫码关注本站公众号wangchaonetcn
 
  免责声明:本文仅代表作者个人观点,与王朝网络无关。王朝网络登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
©2005- 王朝网络 版权所有