我想找到一种方法来确定PHP中的每个函数以及PHP中的每个文件运行的时间.我有一个旧的遗留PHP应用程序,我正试图找到"粗糙点",所以我想找到客观上需要很长时间加载的例程和页面.
是否有任何预制工具可以实现这一点,或者我是否坚持使用microtime,并构建自己的分析框架?
我上周实际做了一些优化工作.XDebug确实是要走的路.
只是启用它作为扩展(由于某种原因它不适用于我的Windows机器上的ze_extension),使用xdebug.profiler_enable_trigger = On设置你的php.ini并用XDEBUG_PROFILE = 1作为get或post调用你的普通url变量来描述非常请求.没有比这更容易了!
此外,我真的可以推荐webgrind,一个基于web的(PHP)谷歌Summer Of Code项目,可以读取和解析您的调试输出文件!
这是一个很好的提示.
当您使用XDebug配置PHP时,设置profiler_trigger并在书签中使用它来触发XDebug探查器;)
javascript:if(document.URL.indexOf('XDEBUG_PROFILE')<1){var%20sep=document.URL.indexOf('?');sep%20=%20(sep<1)?'?':'&';window.location.href=document.URL+sep+'XDEBUG_PROFILE';}
看看xdebug,它可以进行深入的分析.而且这里是一个解释如何使用Xdebug的.
Xdebug的Profiler是一个功能强大的工具,它使您能够分析PHP代码并确定瓶颈,或者通常可以看到代码的哪些部分很慢并且可以使用速度提升.Xdebug 2中的探查器以cachegrind兼容文件的形式输出分析信息.
荣誉对SchizoDuckie为提 Webgrind.这是我第一次听说过它.非常有用(+1).
否则,您可以在linux或其较小的派生wincachegrind上使用kcachegrind.这两个应用程序都将读取xdebug的探查器输出文件,并总结它们以供您查看.