鍍金池/ 問答/PHP  Linux  數(shù)據(jù)庫/ PHP有什么辦法可以排查那些腳本或方法執(zhí)行慢,需要優(yōu)化?

PHP有什么辦法可以排查那些腳本或方法執(zhí)行慢,需要優(yōu)化?

mysql有慢查詢?nèi)罩?,可以排查項目中那些語句需要優(yōu)化。

PHP有什么辦法可以排查整個項目中,那些腳本或方法執(zhí)行慢,需要優(yōu)化?

最好能夠給出詳細(xì)的操作方法或者連接。

回答
編輯回答
葬憶

1.首先如果是web請求 則可以簡單開啟php-fpm的慢查詢?nèi)罩?。分析出那些請求耗時過長。。此方法可以初略的查到問題所在

  1. 具體問題分析。如果不依賴其他工具。則可以在一段代碼的開始 記錄一個時間值最好用微秒。在覺得可能耗時的代碼后面用當(dāng)前微秒時間-之前記錄的微秒時間。。這其實有點類似于hooks.

3.依賴第三方工具。或者php自帶的拓展。太多。。自行翻閱官方文檔。

2017年5月29日 02:31
編輯回答
壞脾滊

xdebugxhprof等等擴(kuò)展,都是深入統(tǒng)計腳本執(zhí)行消耗,并生成性能統(tǒng)計報告的。

2017年4月1日 09:12
編輯回答
澐染

利器 + 神器 = Xdebug
引一個知乎 @eechen 的回答:有哪些 PHP 調(diào)試技巧?

標(biāo)題可能跟這個問題的標(biāo)題不太搭,但相似,不妨一看。

2018年7月24日 04:58
編輯回答
喵小咪

安裝 xdebug
開啟 xdebug.profiler_enable xdebug.profiler_output_dir 選項
運行生成 日志文件
推薦用 phpstorm 自帶的 analyze xdebug profiler 工具 分析下

2018年3月14日 23:23
編輯回答
壞脾滊

開發(fā)環(huán)境用xdebug. 生產(chǎn)環(huán)境php5 用xhprof. php7用tideways. 這些都能跟蹤php的函數(shù)調(diào)用. 具體到內(nèi)存,cpu執(zhí)行耗時等信息. 再配合UI界面展示. 就一目了然了.

2018年1月20日 11:54
編輯回答
來守候

樓上幾位的回答的都差不多了 , 我也廢話幾句昂 :

  1. 最俗氣的解決方案就是打tick time,執(zhí)行前來個microtime,執(zhí)行完畢后來個microtime,然后一減,你就知道了。
  2. 比較徹底的解決方案還是有明提的xhprof擴(kuò)展,該擴(kuò)展可以生成代碼耗費的cpu memory以及時間。但是該擴(kuò)展只支持php5,支持php7的xhprof是github上另外一個哥們維護(hù)的,不是facebook官方,兩個都沒問題,都可以用
  3. 商用解決方案,接入某些APM廠商,也是可以解決問題的,避免廣告嫌疑,這個我就不舉例了
2018年8月17日 04:04
編輯回答
大濕胸

給個簡單粗暴的方案:購買某些大廠的云數(shù)據(jù)庫一個月或者一天,然后所有慢日志一目了然,還帶有解決方案。

2017年7月13日 03:33
編輯回答
心上人

自己可以打斷點調(diào)試啊,計算每段代碼執(zhí)行的時間進(jìn)行對比

2017年11月24日 04:42