本文目錄一覽:
效率為王 分享幾個提升php運行效率的代碼規
1.盡量靜態化:
之所以強調靜態化,是因為靜態化後網站的訪問速度可以提升1/4以上,內容越多,這個提升的效果越明顯.
其實靜態方法和非靜態方法的效率主要區別在內存:靜態方法在程序開始時生成內存,實例方法在程序運行中生成內存,所以靜態方法可以直接調用,實例方法要先成生實例,通過實例調用方法,靜態速度很快,但是多了會佔內存。
任何語言都是對內存和磁盤的操作,至於是否面向對象,只是軟件層的問題,底層都是一樣的,只是實現方法不同。靜態內存是連續的,因為是在程序開始時就生成了,而實例申請的是離散的空間,所以當然沒有靜態方法快。
靜態方法始終調用同一塊內存,其缺點就是不能自動進行銷毀,而是實例化可以銷毀。
2.echo的效率高於print,因為echo沒有返回值,print返回一個整型;並且使用echo的多重參數(譯註:指用逗號而不是句點)代替字符串連接,比如echo $str1,$str2。
測試:
echo
0.000929 – 0.001255 s (平均 0.001092 seconds)
0.000980 – 0.001396 seconds (平均 0.001188 seconds)
相差8%左右,總體上echo是比較快的。
注意,echo大字符串的時候,如果沒有做調整就嚴重影響性能。使用打開apached的mod_deflate進行壓縮或者打開ob_start先將內容放進緩衝區。
3.在循環之前設置循環的最大次數,而非在在循環中;
4.如果能將類的方法定義成static,就盡量定義成static,它的速度會提升將近4倍。
5.銷毀變量去釋放內存,特別是大的數組;
數組和對象在php特別占內存的,這個由於php的底層的zend引擎引起的,
一般來說,PHP數組的內存利用率只有 1/10, 也就是說,一個在C語言裏面100M 內存的數組,在PHP裏面就要1G。
特別是在PHP作為後台服務器的系統中,經常會出現內存耗費太大的問題。
win7怎麼提高打開PHP數據網頁速度
win7如果是作為客戶端的話,提高打開網頁速度,可以優化的東西很少
1、換個好點的瀏覽器,比如chrome或者firefox
2、上網的帶寬提升一些。
3、用一些比較好穩定的dns,如114或者阿里的dns。
win7如果作為服務端的話,那個改進的東西就不少了。
1、打開gzip,加快。
2、優化 apache / nginx / iis服務器
3、優化php代碼
4、優化mysql等DB
5、CDN加速等。
淺談如何提高PHP的速度
1、代碼優化
代碼優化不僅僅是寫出乾淨和清晰的代碼,而是對代碼進行一定的簡化。可以使用Zend Optimizer來自動幫助完成這些繁雜的工作。Zend Optimizer可以從Zend Technologies的網站免費得到,但必須同意它的許可約定,因為它不是以GPL方式發行的。它的原理很簡單,即通過檢測Zend引擎產生的中間代碼,並對它進行優化,從而獲得更高的執行速度。
在使用了Zend Optimizer後,複雜的PHP源程序的執行效率馬上會得到顯著提高,缺點是優化後的代碼可讀性下降,給代碼修改帶來困難。
Zend Optimizer的安裝方法非常簡單,只要根據用戶使用的平台,下載相關的預編譯版本,把下面2行代碼加入到php.ini文件中,重新啟動Web 服務器就行了:
zend_optimizer.optimization_level=15
zend_extension=″/path/to/ZendOptimizer.so″
zend_loader.enable=Off
額外增加的第三行代碼是可選的,因為禁用zend_loader將會使優化速度更快。需要注意的是,只有在不使用Zend Encoder Runtime的時候,才可以禁用zend_loader。
2、使用緩存
如果PHP程序的規模很大,那麼提高速度的辦法就是使用緩存。現在已經有許多緩存方案可供選擇,其中包括Zend Cache、APC和Afterburner Cache。
上面這幾種都是「緩存模塊」(caching modules)。第一次調用PHP文件時,緩存模塊從PHP源代碼生成一些中間代碼,並把這些中間代碼存儲在Web服務器的內存中。以後再調用這些文件時,就可以直接使用內存中「編譯」過的代碼。這種方法確實能夠改善應用的性能,因為它使得磁盤訪問量減低到了最少的程度(代碼已經讀取和解析),代碼直接在內存中運行,使得服務器響應請求的速度大大提高。
當然,緩存模塊還會監視PHP源文件的變化,必要時會重新緩存頁面,從而防止用戶得到的頁面仍舊由過時的PHP代碼生成。由於緩存模塊能夠明顯地降低服務器的負載,提高PHP應用的響應效率,因此它們非常適合於負載較大的網站使用。
Zend Cache是Zend Technologies公司開發的商業軟件。在第一次運行後,PHP頁面的運行速度立刻會有很大的提高,服務器的空閑資源也更多了。缺點是它不是免費的,但性價比還是很高的。
Afterburner Cache是Bware Technologies公司開發的免費緩存模塊。功能與Zend Cache基本一樣,但提高性能方面比不上Zend Cache。
APC(Alternative PHP Cache)是由Community Connect公司開發的另一種免費緩存模塊,目前版本是2.0.4,可以從獲得。對於產品應用來說,它的性能很穩定,而且也能在很大程度上提高響應請求的速度。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/240052.html