效能優化之PHP優化

2021-07-11 01:55:53 字數 1350 閱讀 3548

1.使用apache下的ab工具進行效能測試

測試:ab -n100 -c100 請求100次,併發量是100)

關注兩個量:

requests per second(每秒請求數 )和time per request(平均響應時間)

2.盡量使用php內建變數,常量,函式,原因:php**需要經過zend引擎獨行掃瞄成zend可識別語法,再被解析成opcode**,然後才被執行。

3.內建函式也有優劣之分,要懂得使用效能高的函式,了解函式實現的時間複雜度,以isset和array_key_exists兩個函式為例。

4.盡可能規避php的魔法函式。

5.禁止錯誤抑制符@的使用,原因是會在該語句前後插入一些**。使用工具vld,檢視php的opcode。

6.合理使用記憶體(建議用unset釋放變數)

7.合理使用正規表示式(原因是需要回溯)

8.避免在迴圈裡面計算,例子:for($i=0;$i

9.減少計算密集型業務。原因:php的語言特點決定的,php是由c語言寫的,處於上層,實現的話都要通過c來執行,只是乙個紐帶作用。php擅長的是銜接webserver與後端服務,ui展示。所以密集型業務最好是通過其它語言來實現,不然會成為效能瓶頸。

10.務必使用帶引號字串做鍵值。不然php會先去找常量值,如若找不到才會當成字串來處理,這需要額外開銷。

主要影響效能主要有以下5點:

1.linux環境; 2.

檔案儲存(硬碟);

3.資料庫;

4.記憶體快取(memcache,redis)

5.網路

建議採用以下方式優化:

1.減少檔案類操作,按開銷大小排序是:讀寫記憶體《讀寫資料庫《讀寫磁碟《讀寫網路資料(socket),讀寫記憶體最快,資料庫有其快取系統,網路又有延遲。

2.優化網路請求:

原因:1.對方介面的不確定性;2.網路的穩定性

優化方式:

2.1.設定超時時間(a連線超時;b讀超時;c寫超時);

2.2.將序列請求並行化;

a)使用curl_multi_*();

b)使用swoole擴充套件。

3.壓縮php介面輸出:

使用gzip壓縮

利:有利於client端更快接收資料;

弊:額外的cpu開銷

4.快取重複計算內容:

多次請求,內容不變的情況下;

5.smarty調優和時間視窗重疊思想(後乙個任務不強依賴前乙個任務的情況下可使用),並行縮短執行時間。

6.使用xhprof工具分析效能;

opcode cache:php擴充套件apc

擴充套件實現:通過php擴充套件代替原php**中高頻業務邏輯

runtime優化:hhvm

優化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 ...