как вы показываете время загрузки страницы в php? - PullRequest
3 голосов
/ 22 июня 2009

Какой код показывает, сколько времени PHP потратил на обработку страницы?

Кроме того, сколько запросов sql было выполнено для генерации этой страницы?

Ответы [ 2 ]

12 голосов
/ 22 июня 2009

За первый вопрос.

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

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

Второй немного сложнее. Вам нужны общие шлюзы, которые отслеживают все ваши запросы и хранят счетчик выполнения. Самым простым примером может быть метод-оболочка для mysql_query, который увеличивает статическую переменную и затем передает запрос в mysql_query.

Большая часть современных ORM реализует эту функцию, если вы уже используете одну из них.

0 голосов
/ 23 июня 2009

Для подсчета запросов, в этом классе 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

?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...