【问题标题】:Slow PHP script - automatic debug and diagnosis?缓慢的 PHP 脚本 - 自动调试和诊断?
【发布时间】:2011-09-22 13:45:27
【问题描述】:

当每秒有数百名用户运行时,我如何确定 PHP 脚本是否变坏并且运行速度是否真的很慢,更好的是,是否有任何工具可以大致告诉我代码的哪一部分减慢了我的速度? ...

我不希望在此处发布代码(主要是因为这个问题涉及其他内容并且因为它浪费空间)并且最好永远不要将其发布在任何地方,因为它实际上是一团糟!......我理解的一团糟是的,我编写了代码,但仍然是一团糟,会侮辱任何试图理解它的人......所以如果你有任何创意,请告诉我!

干杯!

(已经感谢您的回复!)

【问题讨论】:

  • 你的代码执行数据库查询吗?
  • 在顶部启动一个计时器,输出在战略点已经过去了多少时间。找到最慢的,然后修复

标签: php optimization scripting


【解决方案1】:

你需要两个工具

  • 分析器(谷歌搜索)

我在工作中使用这个:

http://www.nusphere.com/products/php_profiler.htm(商业)

  • 负载测试器

查看此网站了解更多信息:

http://performance-testing.org/content/performance-testing-tools

【讨论】:

    【解决方案2】:

    启用XDebug profiling,并通过WinCacheGrind (Windows) 或KCacheGrind (Linux) 发送生成的文件。

    这将允许您查看哪些函数被调用最多以及花费时间的细分。任何认真的 PHP 开发人员都必须学习使用 XDebug。

    这是seemingly good tutorial on getting started with XDebug profiling

    【讨论】:

    • 我会尝试使用它...如我所见,它有点像“需要大量手册”的程序,所以我将在下周的考试后学习它...无论如何感谢您的教程!
    【解决方案3】:

    我建议使用 PHP 分析器。 Xdebug 既是 PHP 调试器又是分析器可以提供很大帮助。还有其他调试器,例如Zend 调试器。

    要分析分析结果,您可能还需要一个特殊工具。我在 Windows 中使用了WinCacheGrind,在 Linux 中使用了KCachegrind

    分析报告显示了大量有用的信息,例如源代码的哪些行被调用了多少次,哪些函数占用了大部分的执行时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-06
      • 1970-01-01
      • 1970-01-01
      • 2018-09-02
      • 1970-01-01
      • 2013-08-01
      • 2016-04-20
      相关资源
      最近更新 更多