【发布时间】:2011-03-18 08:12:04
【问题描述】:
我编写了一个 PHP 应用程序,它可以从公共网站复制一些图片,但运行速度很慢。我想看看我的瓶颈在哪里,或者在哪里花费的时间最多。我怎样才能做到这一点?
我使用 Eclipse PDT 作为 IDE。有插件吗?
【问题讨论】:
-
很可能,花费更多时间联系服务器并等待响应。
我编写了一个 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";
?>
【讨论】:
使用 Webgrind 检测瓶颈https://github.com/jokkedk/webgrind 它是一个用于 XDebug 分析的 Web 界面。
【讨论】:
在服务器端,Xdebug 的安装、配置、使用很复杂(在 eclipse 中),但是一旦你理解了它,它就会很强大。
在客户端,在 Firefox 中,尝试 Firebug;或在 Chrome 中,尝试使用 Chrome 开发人员工具来确定网页的哪些元素最需要加载时间。如果您在网站上使用高分辨率嵌入式图像,或者按照评论者的建议使用网络联系时间,则可能是简单的 I/O 问题。
【讨论】: