Я хочу узнать, сколько времени PHP-запрос HTTP проводит в базе данных. Rails logger выводит такую информацию (сколько времени уходит на рендеринг, базу данных и приложение). Пример:
Completed in 0.01224 (81 reqs/sec) | DB: 0.00044 (3%) | 302 Found [http://localhost/posts]
Есть ли что-то похожее и для PHP?
Заранее спасибо.
Вы можете использовать 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 для реального бенчмаркинга.
Проверьте функцию PHP microtime () http://php.net/manual/en/function.microtime.php Я думаю это то, что вы ищете, хотя я не уверен.
Вы можете использовать microtime, чтобы получить время до запроса, а затем вычесть его из времени, когда запрос завершится.http://php.net/manual/en/function.microtime.php
Да, в PHP есть фреймворки (Rails - это фреймворк, написанный на Ruby, PHP - это язык), в который встроено ведение журнала того, сколько времени тратится на подобные вещи.Посмотрите на Symfony, Kohana, Zend Framework, CodeIgniter.