首頁  >  文章  >  後端開發  >  性能優化之PHP優化 性能調整與優化 調整以優化性能 怎麼優化電腦性

性能優化之PHP優化 性能調整與優化 調整以優化性能 怎麼優化電腦性

WBOY
WBOY原創
2016-07-29 08:54:131375瀏覽

一.語言效能最佳化

1.使用Apache下的ab工具進行效能測試
測試:ab -n100 -c100 https://www.baidu.com/(請求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.合理使用正規表示式(原因是需要回溯,範例:for($i=0;$i

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

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

二.週邊性能最佳化

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

2.

檔案儲存(硬碟);

3.資料庫;

4.記憶體快取( 建議採用以下方式最佳化:

1.減少檔案類別操作,按開銷大小排序是:讀寫記憶體 

2.優化網路要求:

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

最佳化連接超時;b讀超時;c寫超時);

2.2.將序列請求並行化;

a)使用curl_multi_*();

b)使用swoole擴展。

3.壓縮PHP介面輸出:
使用Gzip壓縮
利:有利於端更快的接收資料;

4.快取重複計算內容:
多次請求,內容不變的情況下;
和一個時間重疊後

任務不強烈依賴前一個任務的情況下可使用),並行縮短運行時間。
6.使用xhprof工具分析效能;

三.php效能瓶頸解決方法
Cache:PHP擴充APC

擴充實作:透過PHP擴充取代原PHP程式碼中高頻業務邏輯

Runtime最佳化:HHVM 以上就介紹了效能最佳化之PHP優化,包含了效能最佳化,php方面的內容,希望對PHP教學有興趣的朋友有幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn