在CakePHP中测量应用程序运行时间

在CakePHP中测量应用程序运行时间,php,performance,cakephp,logging,cakephp-2.0,Php,Performance,Cakephp,Logging,Cakephp 2.0,在我的生产服务器中,我需要检查我的应用程序的运行时间(我已经在本地机器上制作过了) 但当我将microtime()放在AppController的beforeFilter和afterFilter之间时,得到的结果非常小,比如说它$runningTime=0.20秒。 但将地址写入浏览器和查看输出页面之间的时间比运行时间长100倍。 我需要找出导致我的应用程序缓慢的漏洞。是否可以捕捉到我将地址写入浏览器和在浏览器上获得输出之间的时间差?也许我能找到原因。 我找到了TIME\u START常量,它看

在我的生产服务器中,我需要检查我的应用程序的运行时间(我已经在本地机器上制作过了)
但当我将microtime()放在AppController的beforeFilter和afterFilter之间时,得到的结果非常小,比如说它
$runningTime=0.20
秒。
但将地址写入浏览器和查看输出页面之间的时间比运行时间长100倍。
我需要找出导致我的应用程序缓慢的漏洞。是否可以捕捉到我将地址写入浏览器和在浏览器上获得输出之间的时间差?也许我能找到原因。
我找到了
TIME\u START
常量,它看起来像
microtime()

的包装,请参见下面的URL

为了防止其他人好奇,我通过在layout.ctp中添加以下代码解决了这个问题。您也可以在控制器中执行此操作,并将其作为变量传入,这可能更为经典的MVC友好,但我希望在站点的每个页面上都使用此操作,而不必在每个控制器中重复代码

Page rendered in <?php echo round((getMicroTime() - $_SERVER['REQUEST_TIME']) * 1000) ?>ms.
以ms呈现的页面。

我觉得0.2秒的运行时间没问题。如果您的脚本在20秒内运行,请将开始测量的te点移到脚本开始处,然后查看结果


或者。。用于查看cpu周期的变化。

查看浏览器中Inspector/Firebug工具的“网络/定时”选项卡。大部分开销可能是网络延迟,而不是PHP脚本本身。我还使用pingdom工具检查它。但我需要的东西,使它自动从我的代码和日志到我的服务器。您的服务器只能记录在服务器上的执行时间。我是说延迟可能在其他地方,服务器无法登录,因为它与服务器无关。我如何诊断问题是网络延迟?(我可以在夜间和清晨轻松进入我的网站)