首頁  >  文章  >  後端開發  >  關於PHP+xdebug分析程式碼效能瓶頸

關於PHP+xdebug分析程式碼效能瓶頸

藏色散人
藏色散人轉載
2021-02-18 17:27:212887瀏覽

PHP xdebug 分析程式碼效能瓶頸

通常啟用了xdebug 插件,效能測試輸出檔會伴隨生成,通常是以cachegrind.out.xxxx 檔案存在。

此檔案可以透過第三方工具來進行程式碼效能分析。

但如果本地有多個專案/網站,所有的profile 都輸出到一個檔案中了,這樣並不方便後面進行效能分析。

自訂profile 檔案名稱

可以透過設定xdebug.profiler_output_name 參數來設定輸出檔案名稱,部分參數如下:

##Unix時間戳記(秒)cachegrind.out.%tcachegrind.out.1179434742%uUnix時間戳(微秒)cachegrind.out.%ucachegrind.out.1179434749_642382#%H##%R#$_SERVER ['REQUEST_URI']cachegrind.out.%Rcachegrind.out._test_xdebug_test_php_var=1_var2#%Scachegrind.out.%S
#符號 意義 配置範例 範例檔名
%c 目前工作目錄的crc32校驗值 cachegrind.out.%c cachegrind.out.1258863198
% p 目前伺服器程序的pid cachegrind.out.%p cachegrind.out.9685
%r 隨機數字 cachegrind.out.%r cachegrind.out.072db0
%s #腳本檔名(註) cachegrind.out.%s cachegrind.out._home_httpd_html_test_xdebug_test_php
#%t
##$_SERVER ['HTTP_HOST'] cachegrind.out.%H cachegrind.out.localhost
## session_id (來自$_COOKIE 如果設定了的話)
cachegrind.out.c70c1ec2375af58f74b390bbdd2a679d

關於PHP+xdebug分析程式碼效能瓶頸

關於PHP+xdebug分析程式碼效能瓶頸

#####################################################################################' ###%字元######cachegrind.out.%%######cachegrind.out.%%###############編輯###php. ini### 設定檔:###
xdebug.profiler_output_name = cachegrind.out.%H
###然後重新啟動php server。 ######在Mac 下,profile 檔案存放於###/var/tmp/###目錄中。 ######效能分析######在Mac 下,有MacCallGrind 和 qcachegrind 可以使用,不過前者是收費,直接透過Apple Store下載,後者是免費。需要手動安裝。 ######安裝graphviz,用來Call Graph功能:###
$ brew install graphviz
###安裝qcachegrind:###
$ brew install qcachegrind
###安裝完成之後,就可以開啟###qcachegrind### 應用了,圖形介面如下:###############其他######不過需要注意,開啟了###profile###檔案輸出之後,如果本地專案多的話,很容易佔用磁碟大面積空間,下圖是我半年左右沒有清理的狀態:#########################可以使用指令來清理:###
$ sudo rm -fr /private/var/tmp/cachegrind.out.*
###

以上是關於PHP+xdebug分析程式碼效能瓶頸的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:segmentfault.com。如有侵權,請聯絡admin@php.cn刪除