2010-11-11 34 views
2

權利,因爲看Rasmus Lerdorf's talk on PHP performance我一直想配置文件中的ERP /會計應用我的工作,這不僅是因爲我知道它存在的性能問題,分析應該強調的主要問題對我進行調查。Xdebug的,具有探查輸出問題

所以下載xdebug並把我的php.ini文件下面幾行:

zend_extension="/usr/lib/php5/20090626+lfs/xdebug.so" 
xdebug.profiler_output_dir="/home/me/xdebug/profiles/" 
xdebug.ptofiler_enable_trigger=On 

有了這個,我只是瞄準我的瀏覽器我用&XDEBUG_PROFILE查詢字符串的應用程序和分析開始。問題是我與KCacheGrind觀看不包括任何的功能,從我的應用程序的輸出,和實體之間沒有流量。

當頁面正在執行我複製(終端)的配置文件到一個單獨的文件,捕捉到它的整個輪廓狀態。我裝的每一個單獨這些進入KCacheGrind,他們都顯示應用程序的完整資料,除了最後一個?

誰能告訴我,爲什麼完整的個人資料不被輸出?看着我的複製文件的文件大小它出現在第幾都相當大,但最後一個是顯著更小,是xdebug與他們搞亂它被捕獲後?

非常感謝:-)

編輯

只是爲了幫助,這是我所看到的,當我打開的複製配置文件(該配置文件完成之前)之一,我敢肯定這還有很多。

alt text

這是我從最後的輪廓,沒有關係,只是一堆PHP函數得到。我想看到所有完整的配置文件。

alt text

EDIT 2

所以在這裏我不斷地運行ls -als命令,最後的名單是削減版本,前一個是最後ls該文件是在它的全尺寸。

alt text

,因爲它是超過300萬線長,如果它幫助這裏是xdebug PHP的信息部分,我不能上傳大文件。

alt text

+0

你可能會考慮另一種方法:http://stackoverflow.com/questions/3756446/making-php-performance-profiling-predictable/3756929#3756929 – 2010-11-11 16:36:31

+0

的鏈接似乎被打破,這是你參考的視頻? https://vimeo.com/13768954 – Flimm 2017-10-24 15:44:47

回答

2

對,其實我已經解決了自己的問題,我添加了這個選項,我php.ini文件:

xdebug.profiler_append=1 

這將數據追加到相同的文件名,如果它存在,因此我需要確保文件名選項設置正確,但我認爲現在已經解決了我的問題。

感謝那些回答:-)

+3

對於文件名選項,我推薦使用'xdebug.profiler_output_name =「cachegrind.out。%t。%R」'。它會爲文件名添加時間戳,確保爲每個分析會話生成一個唯一的文件名,並允許您按時間排序。它還包含可幫助您區分痕跡的請求URI。 (雖然我記得在'%R'在某個版本的xdebug或其他版本中運行之前需要使用'register_long_arrays'選項來玩一些。) – aib 2010-11-12 12:07:33

+1

Cheers aib: - ) – 2010-11-12 12:09:29