2011-08-11 86 views
4

有什麼辦法可以獲得一個測量本地主機頁面渲染時間的php腳本。我環顧四周,但沒有找到任何東西,也許是因爲我不知道如何搜索這種腳本。我的頁面渲染時間

+2

你試圖確定它需要服務器生成HTML的時間,或時間它需要瀏覽器在屏幕上呈現該HTML? –

+0

你好,我正在嘗試獲取呈現時間到瀏覽器呈現在屏幕上的HTML,謝謝 – AvinD

+1

你需要螢火蟲 - http://getfirebug.com/ – ajreal

回答

6

如果您想了解您的服務器創建頁面需要多長時間(例如,要將其顯示給用戶),那麼您需要將其置於代碼的開頭:

$start = microtime(); 

然後在最後把這個:

$end = microtime(); 
$creationtime = ($end - $start)/1000; 
printf("Page created in %.5f seconds.", $creationtime); 
+0

你好,我有puted $ start = microtime();在我的header.php和另一個腳本在頁面末尾,在footer.php,但我看到時間太低頁創建在0.000286066 seconds.but這是不正確的,我認爲該網頁需要關於3-4秒或更多ro生成..任何錯誤的東西?謝謝 – AvinD

+0

嗯,這次是PHP創建頁面的實際時間,而且據我所知,這是唯一可以測量的時間。用戶請求頁面和用戶真正看到它之間的時間會涉及到很多其他事情 - 對Web服務器的請求(通常這很快,但如果Web服務器超載,可能會很慢),實際發送頁面,最後用戶的瀏覽器呈現HTML。我會認爲,減慢頁面輸出的速度就是其中之一。 – EdoDodo

+0

你好,我正試圖讓瀏覽器呈現該呈現HTML所需的渲染時間在屏幕上,謝謝 – AvinD

1

你不能測量瀏覽器渲染時間用PHP。你所能做的就是測量服務器生成頁面的時間。

但是,如果使用JavaScript是好的,你可以做到以下幾點:

<html> 
    <head> 
    <script type="text/javascript"> 
     var start_time=+new Date(); 
     window.onload=function(){ 
      alert("Page render time: " + ((+new Date()-start_time)/1000)); 
     }; 
    </script> 
    </head> 
    <body> 
     <p>hi</p> 
    </body> 
</html> 

如果你想有一個瀏覽器插件,請看這裏: measure page rendering time on IE 6 or FF 3.x

17

更新對原批准的回答(爲未來的人「谷歌搜索「和剪切粘貼的mojo):

對於PHP 5.X +,不僅需要將'true'作爲參數添加到microtime()變量,但我們不必將其分爲1,000了。因此,2013年的答案是:

啓動腳本:

$start = microtime(true); 

腳本的底部:

$end = microtime(true); 
$creationtime = ($end - $start); 
printf("Page created in %.6f seconds.", $creationtime); 
+0

嗯...我從來沒有檢查過這個,但也許我應該。共享主機的良好目標基準是什麼?有沒有經驗法則? – Bangkokian