PHP面試題之優化

2022-07-26 17:45:12 字數 1260 閱讀 7504

* php效能問題

* 1.php語法使用的不恰當

* 2.使用php語言做了它不擅長的事

* 3.使用php語言鏈結的服務不給力

* 4.php自身做不了的事情

* * php的效能問題的解決方向

* 1.php語言級的效能優化(**優化)

* 2.php周邊問題的效能優化(linux,mysql,磁碟等)

* 3.php語言效能的優化(c層)

* * 使用ab壓力測試(-n請求數 -c併發數 url目標壓測位址)

* ./ab -n1000 -c100

* request per second每秒接受的請求數(越大越好)

* time per request乙個請求需要的時間(越小越好)

* * time php test.php 測試**執行時間

* * vld- php opcode檢視擴充套件

* php -dvld.active=1 -dvld.execute=0 test.php

* * php**執行流程

* *.php(php檔案)->scanner(掃瞄**,分析)->exprs(儲存成zend引擎可以識別的檔案)->parser(解析)->opcodes(能被執行的檔案)->exec(執行)->output(輸出結果)

* 多使用php內建變數,常量,函式

* php內建函式也存在差異,多使用時間複雜度低的.例isset()和array_key_exists()存在差異

* 盡可能規避使用php魔法函式

* 禁用@錯誤抑制符,會產生額外的開銷

* 合理使用記憶體,利用unset()及時釋放不使用的記憶體

* 盡量少使用正規表示式

* 避免在迴圈內做運算for($i=0;strlen($str);$i++){}

* 減少計算密集型業務(php語言特性決定了php不適合做大資料量運算)

* 務必使用帶引號字串做鍵值(key)

* 減少檔案類操作 記憶體《資料庫《磁碟《讀寫網路資料

* 優化網路:1.設定超時時間 連線超時200ms 讀超時800ms 寫超時500 2.將序列請求並行化:使用curl_multi_*() ,使用swoole擴充套件

* 壓縮php介面輸出:gzip 好處:client更快獲取資料 壞處:額外的cpu開銷

* php快取復用

* 時間視窗重疊方法

* php旁路方案

* xhprof (php -ri xhprof)

PHP面試題之優化

php效能問題 1.php語法使用的不恰當 2.使用php語言做了它不擅長的事 3.使用php語言鏈結的服務不給力 4.php自身做不了的事情 php的效能問題的解決方向 1.php語言級的效能優化 優化 2.php周邊問題的效能優化 linux,mysql,磁碟等 3.php語言效能的優化 c層 ...

面試題 PHP面試題

建議 比如是系統配置,缺少了無法執行,自然使用 require 如果某一段程式少了,只是少了統計 訪問的,不是必不可少的。可以使用 include 而加不加 once 就是效率上的區別,雖然系統會幫你考慮只包含一次,但系統的判斷會降低效率,因此,更應該在開發之初,把目錄結構調整高好,盡量不使用 on...

PHP面試題 之 redis

作為快取系統都要定期清理無效資料,就需要乙個主鍵失效和淘汰策略.在redis當中,有生存期的key被稱為volatile。在建立快取時,要為給定的key設定生存期,當key過期的時候 生存期為0 它可能會被刪除。生存時間可以通過使用 del 命令來刪除整個 key 來移除,或者被 set 和 get...