* 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...