伊夫寫一個PHP應用程序,它從一個公共網站複製一些圖片,但它運行很慢。我想看看我有什麼瓶頸,或者哪裏花的時間最多。我怎樣才能做到這一點?評價我的PHP代碼
我使用Eclipse PDT作爲IDE。有任何插件嗎?
伊夫寫一個PHP應用程序,它從一個公共網站複製一些圖片,但它運行很慢。我想看看我有什麼瓶頸,或者哪裏花的時間最多。我怎樣才能做到這一點?評價我的PHP代碼
我使用Eclipse PDT作爲IDE。有任何插件嗎?
你應該嘗試的XDebug:http://www.xdebug.org/docs/profiler
這裏是一個關於PDT和Xdebug文檔:http://www.eclipse.org/pdt/documents/XDebugGuideForPDT2.0.pdf
通常代碼讀取/複製來自其他服務器的數據會造成瓶頸。您可以使用下面的代碼來衡量時間,你的代碼的某些部分,然後弄清楚
<?php
$time_start = microtime(true);
// your slow code here...
$time_end = microtime(true);
$time = $time_end - $time_start;
echo "$time elapsed\n";
?>
TY,好主意:) – dole 2011-03-18 08:18:52
你會點擊接受答案的鏈接? :) – 2011-03-18 19:58:26
使用Webgrind檢測瓶頸https://github.com/jokkedk/webgrind 及其XDebug的圖譜的Web界面。
在服務器端,Xdebug安裝,配置和使用(在eclipse中)非常複雜,但是一旦你理解它,它就很強大。
在客戶端,在Firefox中,嘗試Firebug的;或者在Chrome中,請嘗試使用Chrome開發人員工具來確定網頁的哪些元素需要最多時間加載。可能是,如果你要在網站上使用高分辨率的嵌入式圖像,或網絡接觸時間作爲一個評論者建議簡單的I/O問題。
我欣賞你的回放,你的權利,這個xdebug很難安裝。我已經嘗試過4個小時,但沒有完成。我不知道如何使用Firebug,當它是關於PHP代碼的時候。 FirePHP是一個選項,但它在嘗試30分鐘後不能在我的機器上運行。 – dole 2011-03-18 18:07:12
最有可能的,更多的時間是花在與服務器聯繫,並等待比其他任何的響應。 – BoltClock 2011-03-18 08:14:07