如何在PHP中追踪慢速代码

时间:2014-03-06 06:37:24

标签: php performance cakephp

我在我的Ubuntu服务器上安装了一个开源PHP项目并让它运行。但是,页面加载速度极慢。 phpinfo()页面和连接到mysql db的基本测试页面加载速度非常快。这个开源代码中有大量的包含文件,日志文件和一些curl调用。我可以使用哪些策略/工具来追踪缓慢的来源?

3 个答案:

答案 0 :(得分:2)

您可以使用xdebug并通过探查器运行它。您可以通过webgrind可视化分析器结果。

以下教程和工具将非常有用:

答案 1 :(得分:2)

您需要对具有性能问题的页面进行概要分析。可以使用php-extension xdebugkcachegrind来完成。

请按照以下步骤操作:

  1. 通过以下方式在您的Ubuntu服务器上安装 php5-xdebug 软件包:sudo apt-get install php5-xdebug
  2. 配置 xdebug.profiler_enable_trigger 参数。看看official manual
  3. 在您的本地计算机上安装 kcachegrind 包:sudo apt-get install kcachegrind
  4. 使用GET参数XDEBUG_PROFILE=1启动慢速页面。见related question
  5. 将生成的配置文件日志复制到本地comp并在kcachegrind中打开。
  6. 一些说明:

    • 在php5-xdebug软件包安装之后,您需要重新启动http-server(或php-fpm守护程序。取决于您服务器上安装的软件)。
    • 分析程序的正确位置是测试环境,而不是生产。

答案 2 :(得分:1)

安装调试工具包

明确的答案是使用xdebug分析,它可以为您提供有关正在发生的事情的大量信息。但也有DebugKit

DebugKit是任何CakePHP开发人员必须的,并且非常容易安装(它只是一个插件)。

与问题最相关的功能是计时器面板:

enter image description here

知道请求的哪一部分很慢,您可以将注意力集中在问题所在的位置。