2010-07-24 15 views
4

我對查找Zend Framework應用程序執行時間的最佳/標準方法感興趣。目前,我正在public/index.php上啓動計時器,然後將其註冊到Zend_Registry中,以便稍後進行調用,然後使用佈局計算總時間。在Zend Framework中查找執行時間的最佳實踐方法

有沒有更好的方法來做到這一點?我知道這甚至不是完全準確的,因爲postDispatch()中仍然存在(或至少可以)一些執行,將在呈現視圖之後運行。

回答

1

您可能想要考慮啓用像XHProf這樣的真實代碼分析器。

+0

雖然這對某些事情會很好,但我並不認爲它可用於將執行時間輸出到視圖中。 糾正我,如果我錯了,但這似乎更像是一個分析器,而不是隻顯示頁面上的執行時間。 – mctom987 2010-07-24 19:33:38

3

我最終加入

$appStartTime = microtime(); 

引導程序得到intsantiated之前,把

global $appStartTime; 
@list($startMilli, $startSeconds, $endMilli, $endSeconds) = explode(' ',$appStartTime . ' ' . microtime()); 
$generateTime = ($endSeconds+$endMilli)-($startSeconds+$startMilli); 
printf('. Generated in %.3fs', $generateTime); 
if ($generateTime > 1) // one second 
{ 
    Zend_Registry::get('logger')->warn('Long page load time of ' . $generateTime . ' on ' . Zend_Controller_Front::getInstance()->getRequest()->getRequestUri()); 
} 

我layout.phtml作爲結束標記之前的最後一件事結束

3

我自己使用webgrind和xdebug分析。這不僅給出了總執行時間的信息,而且還給出了例如一個給定的方法執行了多少次,執行的時間是多少,等等。

相關問題