电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

PHP應用提速面面觀

瀏覽:4日期:2024-01-25 16:21:57
作者:松下客;來源:網易社區 PHP最大的優點之一顯然在于它的速度快。一般情況下PHP總是具有足夠的速度支持Web內容動態生成,許多時候你甚至無法找出比它更快的方法。然而,當你不得不面對龐大的訪問量、高負荷的應用、有限的帶寬以及其他各種帶來性能瓶頸的因素時,你可能會問問自己是否可以做點什么讓網站運行得更好。或許只要加上一個很不起眼的免費模塊,你的PHP應用性能以及Web服務器響應速度就會有顯著的改善。本文討論的就是如何進一步提高php應用的性能,給用戶以更美妙的瀏覽感受。本文分三個方面(代碼優化、緩存、內容壓縮)闡述提高PHP應用性能的各種技術,并介紹各個領域的知名產品。; 代碼優化; 首先我們來看看代碼優化。注意,這里的代碼優化可不是指把代碼寫得更加美觀漂亮,因為這恐怕已經是眾所周知沒有必要繼續討論了;另外,如果你已經考慮到了速度問題,很可能你早就對PHP的源代碼作了一些優化。不過,有些工具卻能夠自動地幫助我們完成這些繁雜的工作,如Zend;Optimizer就是這樣一個工具。Zend;Optimizer可以從Zend;Technologies免費得到,但你必須同意它的許可約定,注意它不是以GPL方式發行。Zend;Optimizer獲取由Zend;Engine運行時編譯生成的中間代碼,并對它進行優化,從而使得中間代碼具有更快的執行效率。; Zend;Optimizer的安裝方法非常簡單,你只需下載為自己所用平臺提供的預編譯版本,把下面兩行代碼加入到php.ini,然后重新啟動Web服務器即可:; zend_optimizer.optimization_level=15 zend_extension='/path/to/ZendOptimizer.so' zend_loader.enable=Off; 這里額外增加的第三行代碼是可選的。禁止zend_loader似乎能夠讓Zend;Optimizer的速度更快一點,所以在php.ini中加上這行代碼是值得的。注意:只有當你不使用Zend;Encoder;Runtime時,你才可以禁用zend_loader。; 緩存; 如果你想要讓自己龐大的PHP應用有更好的性能表現,采用緩存也是一種很好的方法。現在已經有許多緩存方案可供選擇,其中包括:Zend;Cache,APC,和Afterburner;Cache。; 所有這些產品都屬于“緩存模塊”。當第一次出現對.php文件的請求時,它們會在Web服務器內存中保存PHP的中間代碼,此后就用“經過編譯”的版本響應后繼的請求。這種方法確實能夠改善應用的性能,因為它使得磁盤訪問量減低到了最少的程度(代碼已經讀取和解析),代碼直接在內存中運行使得服務器響應請求的速度大大提高。當然,緩存模塊還會監視PHP源文件的變化,必要時重新緩存頁面,從而防止了用戶得到的頁面仍舊由過時的PHP代碼生成。由于緩存模塊能夠明顯地降低服務器的負載、提高PHP應用的響應效率,因此它們非常適合于負載較大的網站使用。; 如何選擇這些緩存產品; Zend;Cache是Zend;Technologies公司的商業軟件,而Zend;Technologies就是前面提到的那個為我們提供PHP引擎和免費Zend;Optimizer的公司。Zend;Cache確實是名不虛傳!對于大型的PHP頁面,你可以感覺到第一次運行之后速度就會有所提高,而且服務器也會有更多的可用資源。遺憾的是這個產品并不免費,不過在有些情形下它仍舊是物超所值。; Afterburner;Cache是來自Bware;Technologies的免費緩存模塊,當前這個產品還是Beta版。Afterburner;Cache的做法看起來與Zend;Cache差不多,但它對性能的改善程度(還)不能與Zend;Cache相比,而且它還不能與Zend;Optimizer一起工作。; APC是Alternative;PHP;Cache的縮寫,它是來自Community;Connect的又一個免費緩存模塊。這個產品已經具有足夠的穩定性供正式場合使用,而且它看起來也能在很大程度上提高響應請求的速度。; 內容壓縮; 前面我們討論了幾種提高PHP應用性能的方法,下面來看看使得瀏覽者感到網站速度太慢的另外一個重要因素:下載速度。如果PHP應用在內部Intranet上運行,而且每一臺客戶機都以100;MB/s的速度連接到服務器,那么下載速度應該不是什么問題。然而,如果服務器還要為慢騰騰的Modem用戶提供服務,那么值得考慮內容壓縮。大多數瀏覽器都根據IETF標準支持用gzip進行內容壓縮。這意味著你可以用gzip壓縮內容然而發送給瀏覽器,由瀏覽器解壓縮數據之后再顯示頁面,這整個過程對用戶來說完全透明。至于服務器端的內容壓縮,現在已經有許多不同的方法可供使用。; 例如,來自Remote;Communications的免費Apache模塊mod_gzip就具有為支持這類內容編碼的瀏覽器壓縮靜態Web內容的能力。對于絕大多數靜態Web內容,mod_gzip都非常有效。mod_gzip可以方便地編譯到Apache里面,也可以作為DSO使用。據Remote;communications公司說,mod_gzip也能夠壓縮來自mod_php、mod_perl等的動態內容。我試了一次又一次,但看來還是不行。我看了許多關于mod_gzip的論壇和文章,看來到了mod_gzip的下一個版本(可能是1.3.14.6f)這個問題有望得到解決。在此之前,我們可以在網站的靜態部分使用mod_gzip。; 然而有時我們確實需要壓縮動態內容,所以必須找找其他辦法。有一種辦法是使用class.gzip_encode.php,這是一個可以用來壓縮頁面內容的PHP類,具體方法是在PHP腳本的開頭和末尾調用該類的某些函數。如果要在網站級實現這個方案,可以從php.ini文件的auto_prepend以及auto_append指令調用這些函數。這種方法雖然有效,但它無疑為高負載的網站帶來了更多的開銷。關于如何使用這個類的詳細說明,請參見它的源代碼。它的源代碼說明相當完善,作者告訴了你所有你必須知道的事情。; PHP;4.0.4有一個新的輸出緩存句柄ob_gzhandler,它與前面的類相似,但用法不同。使用ob_gzhandler時要在php.ini中加入的內容如下:; output_handler;=;ob_gzhandler 這行代碼使得PHP激活輸出緩存,并壓縮它發送出去的所有內容。如果由于某種原因你不想在php.ini中加上這行代碼,你還可以通過PHP源文件所在目錄的.htaccess文件改變默認的服務器行為(不壓縮),語法如下:; php_value;output_handler;ob_gzhandler 或者是從PHP代碼調用,如下所示:; ob_start('ob_gzhandler'); 采用輸出緩存句柄的方法確實非常有效,而且不會給服務器帶來什么特殊的負荷。但必須注意的是,Netscape;Communicator對壓縮圖形的支持不佳,因此除非你能夠保證所有用戶都使用IE瀏覽器,否則你應該禁止壓縮JPEG和GIF圖形。一般地,對于所有其他文件,這種壓縮都有效,但建議你針對各種瀏覽器都分別進行測試,特別是當你使用了特殊的插件或者數據查看器時這一點尤其重要。; 使用前面介紹的各種技術,你能夠顯著地改善網站的性能表現,但應該注意的是:; PHP可能是、也可能不是性能瓶頸所在。務必仔細地觀察每一個和應用性能有關的因素,比如數據庫等。; 單純使用本文技術只能在一定限度之內提高Web服務器的性能。因此在歸咎于PHP以及它的緩存之前,不妨看看是否應該升級服務器以及是否可以引入負載平衡技術(后者需要較大的投資)。; 不要低估內容壓縮的作用。雖然你在100;MB/s的LAN連接下看到Web應用響應非常迅速,但使用Modem連接的用戶不會,他們只會抱怨你那100;Kb的HTML頁面實在過于龐大。
標簽: PHP
主站蜘蛛池模板: 宁波普瑞思邻苯二甲酸盐检测仪,ROHS2.0检测设备,ROHS2.0测试仪厂家 | 数控车床-立式加工中心-多功能机床-小型车床-山东临沂金星机床有限公司 | 光照全温振荡器(智能型)-恒隆仪器 | 专业的压球机生产线及解决方案厂家-河南腾达机械厂 | 纸张环压仪-纸张平滑度仪-杭州纸邦自动化技术有限公司 | 医疗仪器模块 健康一体机 多参数监护仪 智慧医疗仪器方案定制 血氧监护 心电监护 -朗锐慧康 | 成都办公室装修-办公室设计-写字楼装修设计-厂房装修-四川和信建筑装饰工程有限公司 | 广东教师资格网-广东教师资格证考试网 | 环境模拟实验室_液体-气体控温机_气体控温箱_无锡双润冷却科技有限公司 | 磁力去毛刺机_去毛刺磁力抛光机_磁力光饰机_磁力滚抛机_精密金属零件去毛刺机厂家-冠古科技 | 艾默生变频器,艾默生ct,变频器,ct驱动器,广州艾默生变频器,供水专用变频器,风机变频器,电梯变频器,艾默生变频器代理-广州市盟雄贸易有限公司官方网站-艾默生变频器应用解决方案服务商 | 加热制冷恒温循环器-加热制冷循环油浴-杭州庚雨仪器有限公司 | 2025第九届世界无人机大会| 花纹铝板,合金铝卷板,阴极铝板-济南恒诚铝业有限公司 | 雄松华章(广州华章MBA)官网-专注MBA/MPA/MPAcc/MEM辅导培训 | Trimos测长机_测高仪_TESA_mahr,WYLER水平仪,PWB对刀仪-德瑞华测量技术(苏州)有限公司 | 注塑模具_塑料模具_塑胶模具_范仕达【官网】_东莞模具设计与制造加工厂家 | 清洁设备_洗地机/扫地机厂家_全自动洗地机_橙犀清洁设备官网 | 合肥钣金加工-安徽激光切割加工-机箱机柜加工厂家-合肥通快 | 全自动五线打端沾锡机,全自动裁线剥皮双头沾锡机,全自动尼龙扎带机-东莞市海文能机械设备有限公司 | ISO9001认证咨询_iso9001企业认证代理机构_14001|18001|16949|50430认证-艾世欧认证网 | 电动卫生级调节阀,电动防爆球阀,电动软密封蝶阀,气动高压球阀,气动对夹蝶阀,气动V型调节球阀-上海川沪阀门有限公司 | 考勤系统_人事考勤管理系统_本地部署BS考勤系统_考勤软件_天时考勤管理专家 | 防水试验机_防水测试设备_防水试验装置_淋雨试验箱-广州岳信试验设备有限公司 | 辐射仪|辐射检测仪|辐射巡测仪|个人剂量报警仪|表面污染检测仪|辐射报警仪|辐射防护网 | 彩信群发_群发彩信软件_视频短信营销平台-达信通 | 圆盘鞋底注塑机_连帮鞋底成型注塑机-温州天钢机械有限公司 | 洁净化验室净化工程_成都实验室装修设计施工_四川华锐净化公司 | 化工ERP软件_化工新材料ERP系统_化工新材料MES软件_MES系统-广东顺景软件科技有限公司 | vr安全体验馆|交通安全|工地安全|禁毒|消防|安全教育体验馆|安全体验教室-贝森德(深圳)科技 | 不锈钢电动球阀_气动高压闸阀_旋塞疏水调节阀_全立阀门-来自温州工业阀门巨头企业 | 水厂污泥地磅|污泥处理地磅厂家|地磅无人值守称重系统升级改造|地磅自动称重系统维修-河南成辉电子科技有限公司 | EDLC超级法拉电容器_LIC锂离子超级电容_超级电容模组_软包单体电容电池_轴向薄膜电力电容器_深圳佳名兴电容有限公司_JMX专注中高端品牌电容生产厂家 | 搅拌磨|搅拌球磨机|循环磨|循环球磨机-无锡市少宏粉体科技有限公司 | 广西绿桂涂料--承接隔热涂料、隔音涂料、真石漆、多彩仿石漆等涂料工程双包施工 | 结晶点测定仪-润滑脂滴点测定仪-大连煜烁 | 防潮防水通风密闭门源头实力厂家 - 北京酷思帝克门窗 | POS机办理_个人pos机免费领取-银联pos机申请首页 | 宿松新闻网 宿松网|宿松在线|宿松门户|安徽宿松(直管县)|宿松新闻综合网站|宿松官方新闻发布 | 浙江美尔凯特智能厨卫股份有限公司 | 三氯异氰尿酸-二氯-三氯-二氯异氰尿酸钠-优氯净-强氯精-消毒片-济南中北_优氯净厂家 |