成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺談如何提高PHP的速度

開發(fā) 后端
當(dāng)面對(duì)龐大的訪問量、高負(fù)荷的應(yīng)用、有限的帶寬,以及其它各種帶來性能瓶頸的因素時(shí),就需要提高PHP的性能,本文介紹了三種方法,來提高PHP的速度,一起來看。

使用PHP的***1個(gè)優(yōu)勢(shì)就是速度快。一般情況下,PHP總是具有足夠的速度支持Web內(nèi)容動(dòng)態(tài)生成,許多時(shí)候甚至無法找出比它更快的方法。然而,當(dāng)面對(duì)龐大的訪問量、高負(fù)荷的應(yīng)用、有限的帶寬,以及其他各種帶來性能瓶頸的因素時(shí),就需要考慮怎樣提高PHP的性能了。

1、代碼優(yōu)化

代碼優(yōu)化不僅僅是寫出干凈和清晰的代碼,而是對(duì)代碼進(jìn)行一定的簡化。可以使用Zend Optimizer來自動(dòng)幫助完成這些繁雜的工作。Zend Optimizer可以從Zend Technologies的網(wǎng)站http://www.zend.com/免費(fèi)得到,但必須同意它的許可約定,因?yàn)樗皇且訥PL方式發(fā)行的。它的原理很簡單,即通過檢測(cè)Zend引擎產(chǎn)生的中間代碼,并對(duì)它進(jìn)行優(yōu)化,從而獲得更高的執(zhí)行速度。

在使用了Zend Optimizer后,復(fù)雜的PHP源程序的執(zhí)行效率馬上會(huì)得到顯著提高,缺點(diǎn)是優(yōu)化后的代碼可讀性下降,給代碼修改帶來困難。

Zend Optimizer的安裝方法非常簡單,只要根據(jù)用戶使用的平臺(tái),下載相關(guān)的預(yù)編譯版本,把下面2行代碼加入到php.ini文件中,重新啟動(dòng)Web 服務(wù)器就行了:

  1. zend_optimizer.optimization_level=15   
  2. zend_extension=″/path/to/ZendOptimizer.so″  
  3. zend_loader.enable=Off  

額外增加的第三行代碼是可選的,因?yàn)榻脄end_loader將會(huì)使優(yōu)化速度更快。需要注意的是,只有在不使用Zend Encoder Runtime的時(shí)候,才可以禁用zend_loader。

2、使用緩存

如果PHP程序的規(guī)模很大,那么提高速度的辦法就是使用緩存。現(xiàn)在已經(jīng)有許多緩存方案可供選擇,其中包括Zend Cache、APC和Afterburner Cache。

上面這幾種都是“緩存模塊”(caching modules)。***次調(diào)用PHP文件時(shí),緩存模塊從PHP源代碼生成一些中間代碼,并把這些中間代碼存儲(chǔ)在Web服務(wù)器的內(nèi)存中。以后再調(diào)用這些文件時(shí),就可以直接使用內(nèi)存中“編譯”過的代碼。這種方法確實(shí)能夠改善應(yīng)用的性能,因?yàn)樗沟么疟P訪問量減低到了最少的程度(代碼已經(jīng)讀取和解析),代碼直接在內(nèi)存中運(yùn)行,使得服務(wù)器響應(yīng)請(qǐng)求的速度大大提高。

當(dāng)然,緩存模塊還會(huì)監(jiān)視PHP源文件的變化,必要時(shí)會(huì)重新緩存頁面,從而防止用戶得到的頁面仍舊由過時(shí)的PHP代碼生成。由于緩存模塊能夠明顯地降低服務(wù)器的負(fù)載,提高PHP應(yīng)用的響應(yīng)效率,因此它們非常適合于負(fù)載較大的網(wǎng)站使用。

Zend Cache是Zend Technologies公司開發(fā)的商業(yè)軟件。在***次運(yùn)行后,PHP頁面的運(yùn)行速度立刻會(huì)有很大的提高,服務(wù)器的空閑資源也更多了。缺點(diǎn)是它不是免費(fèi)的,但性價(jià)比還是很高的。

Afterburner Cache是Bware Technologies公司開發(fā)的免費(fèi)緩存模塊。功能與Zend Cache基本一樣,但提高性能方面比不上Zend Cache。

APC(Alternative PHP Cache)是由Community Connect公司開發(fā)的另一種免費(fèi)緩存模塊,目前版本是2.0.4,可以從http://pecl.php.net/package/APC獲得。對(duì)于產(chǎn)品應(yīng)用來說,它的性能很穩(wěn)定,而且也能在很大程度上提高響應(yīng)請(qǐng)求的速度。

3、壓縮網(wǎng)頁內(nèi)容

影響站點(diǎn)的訪問速度還有1個(gè)重要因素,那就是下載速度。解決的辦法就是壓縮網(wǎng)頁內(nèi)容。對(duì)于純文本內(nèi)容而言,HTTP壓縮技術(shù)可壓縮至原大小的40%以下,從而提供60%以上的數(shù)據(jù)傳輸節(jié)約。雖然Web服務(wù)器會(huì)因?yàn)閴嚎s導(dǎo)致CPU占用的略微上升,但可以節(jié)約大量用于傳輸?shù)木W(wǎng)絡(luò)IO。

根據(jù)IETF規(guī)范,大部分瀏覽器都支持使用gzip壓縮算法進(jìn)行內(nèi)容壓縮。也就是說,可以先用gzip壓縮網(wǎng)頁內(nèi)容,然后發(fā)送到客戶端瀏覽器,瀏覽器在接收的時(shí)候會(huì)自動(dòng)解壓數(shù)據(jù),再顯示頁面。這個(gè)過程對(duì)用戶來說,是完全透明的。同樣,壓縮Web頁面的內(nèi)容也有不同的方法。

Mod_gzip是1種開放源代碼的、標(biāo)準(zhǔn)的Apache模塊,也叫互聯(lián)網(wǎng)內(nèi)容加速模塊。可以將它和Apache一起編譯,也可以作為DSO使用。相對(duì)于普通的瀏覽過程,它可以節(jié)省40%左右的流量。Mod_gzip不僅可以壓縮靜態(tài)的內(nèi)容,如HTML、XML,而且對(duì)動(dòng)態(tài)生成的,包括SQL、Java、WML、VRML等產(chǎn)生的內(nèi)容,在服務(wù)器端進(jìn)行實(shí)時(shí)壓縮并傳輸,其壓縮效率驚人,一般都為60%~85%。

壓縮動(dòng)態(tài)網(wǎng)頁的內(nèi)容,還可以使用class.gzip來對(duì).php文件編碼,class.gzip通過在PHP腳本的開頭和結(jié)尾調(diào)用它的一些函數(shù)來壓縮網(wǎng)頁內(nèi)容。如果整個(gè)站點(diǎn)都需要這樣的壓縮,可以在php.ini文件中的auto_prepend和auto_append中調(diào)用這些函數(shù),但是會(huì)占用一定的系統(tǒng)開銷。

PHP4.0.4推出了1種新的輸出緩沖的處理手段—ob_gzhandler,它的作用和class.gzip完全一樣,區(qū)別是可以直接把它加到php.ini 文件中,語法如下: 

  1. output_handler = ob_gzhandler; 

這樣將激活PHP的輸出緩沖功能,并在發(fā)送內(nèi)容前進(jìn)行壓縮。如果不想在這里設(shè)置,只在需要的地方才改變這個(gè)默認(rèn)設(shè)置(不壓縮),只要在需要壓縮的PHP源程序目錄中,修改一下.htaccess文件就行了,語法如下: 

  1. php_value output_handler ob_gzhandler  

或者直接在PHP代碼中調(diào)用它:

  1. ob_start(″ob_gzhandler″); 

輸出緩沖的效果確實(shí)很理想,并且不會(huì)為服務(wù)器帶來額外的系統(tǒng)開銷。要注意的一點(diǎn)是Netscape Communicator不支持圖像的壓縮。因此除非知道訪問者都使用Internet Explorer,否則必須禁止壓縮jpeg和gif圖象。

4 其它技巧

在編程時(shí),使用一些小技巧也可以加快PHP的運(yùn)行速度:

(1)用i+=1代替i=i+1,既符合c/c++的習(xí)慣,效率相對(duì)還更高。

(2)盡可能使用PHP內(nèi)部函數(shù)。

(3)能使用單引號(hào)字符串時(shí),盡量使用單引號(hào)字符串。單引號(hào)字符串的效率要高于雙引號(hào)字符串。

(4)用foreach代替while遍歷數(shù)組,foreach的效率明顯高于while循環(huán),而且不需要調(diào)用reset函數(shù)。

【編輯推薦】

  1. 細(xì)說PHP中strlen和mb_strlen的區(qū)別
  2. 非常實(shí)用 十個(gè)PHP高級(jí)應(yīng)用技巧
  3. PHP開發(fā)程序應(yīng)該注意的42個(gè)優(yōu)化準(zhǔn)則
  4. 高手傳經(jīng) 學(xué)習(xí)PHP重在堅(jiān)持
  5. PHP中幾個(gè)常用的時(shí)間應(yīng)用方式
責(zé)任編輯:于鐵 來源: 江西氣象科技
相關(guān)推薦

2011-05-30 13:15:05

PHP

2009-06-24 15:16:19

AJAX客戶端

2011-06-08 17:41:47

網(wǎng)站信任度

2016-09-07 15:02:03

ElasticSear索引速度

2024-06-27 11:00:07

2009-06-25 14:09:37

優(yōu)化MyEclipse

2011-05-10 17:20:52

PR

2019-09-24 09:25:05

Vue項(xiàng)目加載

2011-05-19 11:33:38

數(shù)據(jù)庫訪問速度

2024-08-07 15:40:59

2009-06-18 12:21:07

javascriptdom

2009-10-16 08:48:08

2022-04-27 09:24:22

前端代碼速度

2011-07-04 17:45:45

Qt Sqlite 數(shù)據(jù)庫

2010-03-12 15:49:46

Python字串查找

2009-11-27 15:24:48

PHP遞歸效率

2020-05-26 13:25:00

語言編譯代碼

2021-05-12 11:19:08

DevTools堆棧追蹤

2009-07-09 10:15:23

PHP DOM

2010-01-06 16:55:33

Web交換機(jī)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 一区二区三区四区国产 | 欧美一区二区在线看 | 欧美视频一区 | www成人免费 | 成人av在线大片 | 国产资源在线观看 | www.色综合| 日韩精品四区 | 欧美一级做性受免费大片免费 | 91性高湖久久久久久久久_久久99 | 国产在线精品一区 | 男人的天堂久久 | 国产精品伦一区二区三级视频 | 国产精品二区三区在线观看 | 国产.com | 能免费看的av | 国产精品久久久久一区二区三区 | 狠狠干网 | 91社区在线观看 | 91精品国产一区二区三区动漫 | 毛片a级毛片免费播放100 | 国产精品美女久久久久久免费 | 欧洲成人午夜免费大片 | 成人精品一区二区三区 | 亚洲激情第一页 | 一级免费毛片 | 日韩精彩视频 | 国产欧美日韩一区 | 中文在线一区 | 91麻豆精品国产91久久久久久 | 国产成人精品一区二区三区在线观看 | 亚洲中国字幕 | 亚洲午夜网| 91精品一区二区三区久久久久 | 偷拍第一页 | 色综合久久88色综合天天 | 国产精品美女久久久久aⅴ国产馆 | 免费黄色录像片 | 亚洲一区二区三区国产 | 欧美日韩一区二区三区不卡视频 | 精品国产精品国产偷麻豆 |