PHP 語言級效能優化

2021-09-24 21:51:45 字數 1402 閱讀 3113

php 語言級效能優化 -- 可使用ab壓力測試工具進行測試;

1、多使用系統內建函式;

2、系統內建函式之間的效能也不一樣,選擇較好的函式;如 isset 與 array_key_exist , isset 耗時更短;

3、盡量少用php魔法函式,因為魔法函式效能不佳;

4、禁用錯誤抑制符 @ ,會產生額外開銷;正常使用try throw 丟擲錯誤 ;

5、合理使用記憶體,用unset() 或者 $變數 = null釋放記憶體;

1)、unset()函式只能在變數值占用記憶體空間超過256位元組時才會釋放記憶體空間

2)、unset()函式需要刪除所有指向變數才會釋放記憶體;如 $a = 1; $b = &$a ; 需要將$a及$b都unset才會釋放;

6、盡量少用正規表示式;

7、避免在迴圈內做計算;

$s = 'abc'; // 在迴圈內計算字串長度,會被重複計算; 

for($i = 0; $i < strlen($s); $i++)

// 優化方式

$len = strlen($s);

for($i = 0; $i < $len; $i++)

8、減少計算密集型業務;(不適合大批量資料處理)

9、務必使用帶引號字串作為鍵值;(減少查詢常量的開銷)

define('key',"hhh"); 

$a = [ 'key' => "hello world"; ];

echo $a[key]; //會產生額外開銷

echo $a['key']; //不會

10、不需要解析的字串 最好用單引號;

11、requiere_once()比較耗資源;

這是因為requiere_once需要判斷該檔案是否被引用過),所以能不用盡量不用。常用require/include方法避免

12、引用路徑盡量使用絕對路徑,減少相對路徑查詢;

13、如果你需要得到介面請求的時間,$_server['requset_time']優於time(); 

14、建立乙個物件屬性(類裡面的變數)例如($this->prop) 比區域性變數要慢3倍;

15、某些地方使用isset代替strlen

舉例如下)

if (strlen($foo) < 5)

(與下面的技巧做比較)

if (!isset($foo))

//呼叫isset()恰巧比strlen()快,因為與後者不同的是,isset()作為一種語言結構,意味著它的執行不需要函式查詢和字母小寫化。也就是說,實際上在檢驗字串長度的頂層**中你沒有花太多開銷。

16、變數盡量少;

17、使用快取技術;

使用xhprof工具,分析php效能

優化php效能

優化php效能的五個實用技巧 以下是五個優化技巧,熟練掌握後對於開發還是很有幫助的。1.對字串使用單引號 php 引擎允許使用單引號和雙引號來封裝字串變數,但是這個是有很大的差別的!使用雙引號的字串告訴 php 引擎首先去讀取字串內容,查詢其中的變數,並改為變數對應的值。一般來說字串是沒有變數的,所...

php 效能優化

1 使用 優化工具 zend optimizer,原理是通過檢測zend引擎產生的中間 並且優化他 來提高速度 安裝 zend optimizer,在php.ini裡新增 zend optimizer.optimization level 15 zend extension path to zend...

PHP效能優化

php效能優化 程式優化 1 最好是使用字串連線與單引號,而不是雙引號字串。2 不要隨便複製變數。3 盡量使用echo輸出字串。4 盡量不要使用連線符,輸出多個變數時可以用逗號分開。5 盡量使用switch代替if else。6 不做無畏的替換,先用strpos查詢再做替換,不要做替換效率高200 ...