PHP - измерение времени базы данных для HTTP-запроса - PullRequest
1 голос
/ 16 ноября 2010

Я хочу узнать, сколько времени PHP-запрос HTTP проводит в базе данных. Rails logger выводит такую ​​информацию (сколько времени уходит на рендеринг, базу данных и приложение). Пример:

Completed in 0.01224 (81 reqs/sec) | DB: 0.00044 (3%) | 302 Found [http://localhost/posts]

Есть ли что-то похожее и для PHP?

Заранее спасибо.

Ответы [ 4 ]

3 голосов
/ 16 ноября 2010

Вы можете использовать microtime () и memory_get_usage () для проверки скорости, а также используемой памяти (что часто более важно для ORM) .

$time = microtime(TRUE);
$memory = memory_get_usage();

...code here...

print (microtime(TRUE)-$time). ' seconds and '. (memory_get_usage()-$memory). ' bytes';

Однако запросы к базе данных должны сравниваться на уровне базы данных. Используйте MySQL Query Profiler для реального бенчмаркинга.

1 голос
/ 16 ноября 2010

Проверьте функцию PHP microtime () http://php.net/manual/en/function.microtime.php Я думаю это то, что вы ищете, хотя я не уверен.

1 голос
/ 16 ноября 2010

Вы можете использовать microtime, чтобы получить время до запроса, а затем вычесть его из времени, когда запрос завершится.http://php.net/manual/en/function.microtime.php

0 голосов
/ 16 ноября 2010

Да, в PHP есть фреймворки (Rails - это фреймворк, написанный на Ruby, PHP - это язык), в который встроено ведение журнала того, сколько времени тратится на подобные вещи.Посмотрите на Symfony, Kohana, Zend Framework, CodeIgniter.

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