你如何在PHP中显示页面加载时间?

时间:2009-06-22 17:43:07

标签: php mysql performance

显示PHP处理页面需要多长时间的代码是什么?

此外,执行了多少次sql查询来生成该页面?

2 个答案:

答案 0 :(得分:12)

关于第一个问题。

$start = microtime(true);
$end = microtime(true);

printf("Page was generated in %f seconds", $end - $start);

第二个稍微复杂一点。您需要一个共享网关来跟踪所有查询并存储执行计数器。 最简单的示例可以是围绕mysql_query的包装器方法,它增加静态变量,然后将查询传递给mysql_query。

现代ORM的大部分内容都实现了该功能,如果您已经使用过其中一个功能。

答案 1 :(得分:0)

对于查询计数,在我创建的这个mysql类中,你会回显$ m-> qcount;显示已经运行了多少个查询。

<?php

class mysql
{
      var $db_connection = 0;
      var $qcount = 0;

      function connect( $host='', $user='', $password='', $database='' )
      {
            $this->db_connection = @mysql_connect( $host, $user, $password );

            if(!$this->db_connection)
            {
                  die("Cannot connect to mySQL Host.");
            }
            else
            {
                  $select = mysql_select_db($database, $this->db_connection);

                  if(!$select)
                  {
                        die("Cannot connect to DB.");
                  }
                  else
                  {
                        return $select;
                  }
            }
      }

      function query($info)
      {
            $this->qcount++;

            return mysql_query($info, $this->db_connection);
      }

      function fetch($info)
      {
            return mysql_fetch_array($info);
      }
}

$m = new mysql;

$m->connect("hostname","username","password","database");

$m->query("blah blah blah");
$m->query("blah blah blah");

echo $m->qcount; // returns a count of 2

?>