Правильно, после просмотра выступления Расмуса Лердорфа о производительности PHP Я давно хотел профилировать приложение ERP / Accounting, над которым я работаю, не в последнюю очередь потому, что я знаю, что с ним возникают проблемы с производительностью, профилирование должно выделите основные проблемы, которые мне предстоит исследовать.
Итак, скачал 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
возиться с ними после того, как он был захвачен?
Большое спасибо: -)
EDIT
Просто чтобы помочь, это то, что я вижу, когда открываю один из скопированных профилей (до того, как профиль будет завершен), я уверен, что это еще не все.
И это то, что я получаю из окончательного профиля, никаких отношений, просто набор функций PHP. Я хочу увидеть весь профиль.
РЕДАКТИРОВАТЬ 2
Здесь я постоянно запускаю команду ls -als
, последний список - урезанная версия, предыдущий - последний ls
, где файл был в полном размере.
Я не могу загрузить большой файл, поскольку его длина превышает 3 миллиона строк, если это поможет, это раздел xdebug
php info.