找到瓶頸(finding the bottleneck)
快取 (caching)
編譯 vs. 解釋(compiling vs. interpreting)
**** (content reduction)
多執行緒與多程序(multithreading & multiprocessing)
字串(strings)
正規表示式(regular expressions)
迭代結構 (iteration constructs (for, while))
選擇結構 (selection constructs (if, switch))
函式與引數 (functions & parameters)
物件導向結構 (object-oriented constructs)
session處理 (session handling)
型別轉換 (type casting)
壓縮(compression)
錯誤處理(error handling)
宣告、定義與範圍(declarations, definitions, & scope)
記憶體洩漏(memory leaks)
不要重**明輪子(don』t reinvent the wheel)
**優化(code optimization)
使用ram(using ram instead of dasd)
使用服務(using services (e.g., sql))
安裝與配置(installation & configuration)
其他(other)
面對乙個效能問題是,第一步永遠是找到問題產生的原因,而不是去看技巧列表。搞明白產生瓶頸的原因,找到目標並且實施修復,然後再重新測試。查詢瓶頸只是萬里長征的第一步,這裡有些常用技巧,希望對最重要的第一步找到瓶頸能有所幫助。
有些人認為快取是解決效能問題最有效的辦法之一,試試這些:
將php原始碼編譯成機器碼。動態解釋執行同樣的編譯,但它是按行執行的。編譯為opcode是折中選擇,它可以將php原始碼翻譯為opcode,之後opcode再轉為機器碼。以下為關於編譯與解釋的相關技巧:
越少越塊。 這些技巧可以幫助減少**:
由快到慢依次為:
多執行緒(單一程序中)
多程序(比如,pcntl_fork,計畫任務)
單程序(一行又一行)
php不支援多執行緒,但是可以用c寫多執行緒的php擴充套件。有一些辦法可以使用多程序或模擬多程序,但支援的並不是很好,沒準兒比單程序還慢。
字串處理,是大多數程式語言中最常用的操作之一。這裡有些技巧可以幫我們讓字串處理速度更快一些:
正規表示式為們帶來了靈活多樣的比較與查詢字串的方法,單他的效能開銷卻著實不低
迭代(重複,迴圈)是最基本的結構化程式設計方法,很難想像有不使用它的程式。這裡有些技巧,幫助我們改進迭代結構的效能:
與迭代結構相同,選擇結構也是最基本的結構化變成方法。以下技巧或許能改善效能:
將函式的**分解成小函式**可以消除冗餘,讓**具有可讀性,但代價是什麼?這裡有些技巧,以幫助更好的使用函式:
php的物件導向特性,可能會影響到效能。以下提示可以幫助我們儘量減少這種影響:
建立sessions有很多好處,但有時會產生沒必要的效能開支。以下技巧可以幫助我們最大限度減少效能開支:
從一種型別轉換為另一種型別需要成本
在傳輸前,壓縮文字和資料:
錯誤處理影響效能。我們能做的是:
建立乙個變數、陣列或者物件,對效能都有影響:
如果記憶體分配後不釋放,這絕對是個問題:
為什麼要花費時間去解決別人已經解決的問題?
ram比磁碟快很多很多,使用ram可以提公升一些效能:
sql經常被用來訪問關係型資料庫,但我們的php**可以訪問許多不同的服務。下面是一些訪問服務是需要牢記的:
安裝與配置php時,請考慮效能:
還有些技巧比較難歸類:
前端效能優化的幾個方法
為什麼要做前端效能優化?在構建web站點的過程中,任何乙個細節都有可能影響 的訪問速度,如果不了解前端效能優化的知識,很多不利於 的因素會累加,從而嚴重影響 的效能,導致 訪問速度變慢,使用者體驗低下,最終導致使用者流失。前端效能優化的方式 1.封裝元件 把所有需要復用的功能或網頁模板封裝成元件,在...
php快取提高效能的幾個方法
專案結構是這樣的 使用者 net 專案 php 由於該專案本來是放在.net 裡的,但是現在要遷移到php這邊來,可是為了保證原有鏈結 考慮到使用者的體驗 seo等 所以在.net 做了一層 即,net根據 使用者請求從php處讀取到全部頁面內容,然後展現給使用者看。而由於該項目的特殊性,我們需要較...
優化php效能
優化php效能的五個實用技巧 以下是五個優化技巧,熟練掌握後對於開發還是很有幫助的。1.對字串使用單引號 php 引擎允許使用單引號和雙引號來封裝字串變數,但是這個是有很大的差別的!使用雙引號的字串告訴 php 引擎首先去讀取字串內容,查詢其中的變數,並改為變數對應的值。一般來說字串是沒有變數的,所...