【问题标题】:Profiling PHP Inline分析 PHP 内联
【发布时间】:2010-05-28 11:46:25
【问题描述】:

我正在寻找在浏览器中分析我的 php 脚本的解决方案(而不是必须使用 *cachegrind)

我不久前看到了这个http://particletree.com/features/php-quick-profiler/,但我不知道它有多好(或准确)

提示/建议赞赏

【问题讨论】:

    标签: php profiling


    【解决方案1】:

    xdebug 会生成 cachegrind 文件,因此您可能希望避免这种情况。我目前使用 XHProf http://mirror.facebook.net/facebook/xhprof/doc.html,因为它包含一个用于查看分析结果的出色 Web 界面。

    【讨论】:

      【解决方案2】:

      你能用XDebug吗?如果是这样,您可以使用this technique,我认为它与任何分析器一样有效。

      在分析器中,不要寻找计时测量的准确性。这通常是以牺牲发现问题的准确性为代价的。

      【讨论】:

      • 是的,我已经安装了 xdebug,谢谢你的链接,我会看看
      【解决方案3】:

      我在不同的网站上使用了Benchmark,以便快速轻松地进行分析 - 它按预期工作:不是很好,但足以满足我的需求。

      【讨论】:

        【解决方案4】:

        我正在使用和这个一样简单的代码。
        只需$TIMER['mark']=microtime(TRUE); 其他所有代码:

        <?
        $TIMER['start']=microtime(TRUE);
        // some code
        $TIMER['q1 start']=microtime(TRUE);
          $res=mysql_query($query);
        $TIMER['q1 end']=microtime(TRUE);  
        // some code
        $TIMER['q2 start']=microtime(TRUE);
          $res=mysql_query($query);
        $TIMER['q2 end']=microtime(TRUE);  
        // some code
        $TIMER['pagination']=microtime(TRUE);  
        ?>
        

        然后是带有结果的简单表格:

        <?
        if ('127.0.0.1' === $_SERVER['REMOTE_ADDR']) {
          echo "<table border=1><tr><td>name</td><td>so far</td><td>delta</td><td>per cent</td></tr>";
          reset($TIMER);
          $start=$prev=current($TIMER);
          $total=end($TIMER)-$start;
          foreach($TIMER as $name => $value) {
            $sofar=round($value-$start,3);
            $delta=round($value-$prev,3);
            $percent=round($delta/$total*100);
            echo "<tr><td>$name</td><td>$sofar</td><td>$delta</td><td>$percent</td></tr>";
            $prev=$value;
          }
            echo "</table><>";
        }
        ?>
        

        它没有xDebug输出那么全面,但它可以找到瓶颈,我不需要更多。

        【讨论】:

          猜你喜欢
          • 2015-03-22
          • 2010-10-27
          • 1970-01-01
          • 2013-06-05
          • 2012-01-31
          • 2011-06-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多