Как узнать время генерации страницы и объем использованной памяти на PHP
Однажды я уже писал как это сделать в WordPress — https://moonback.ru/page/vremja-generacii-stranicy-kolichestvo-sql-zaprosov-obem-pamjati-wordpress. Но в том решении использовались специфические функции присущие только CMS WordPress.
В этой статье я расскажу как реализовать эту задачу на чистом PHP. А именно как узнать время за которое средствами PHP создается страница сайта и сколько при этом используется памяти.
Как узнать время выполнения скрипта PHP
Общая идея состоит в том, чтобы в начале PHP скрипта засечь время и присвоить его значение переменной, а в конце опять узнать время и вычесть из него начальное значение.
Первая строчка вашего PHP файла должна выглядеть так:
<?php $start = microtime(true); ?>
В ней переменной $start мы присваиваем текущую метку времени Юникс с микросекундами.
Где-то в конце файла мы опять узнаем время и вычисляем разность:
<?php $finish = microtime(true); $delta=$finish-$start; ?>
Сколько памяти использует PHP
Здесь все несколько проще:
<?php $ram = round(memory_get_usage()/1024/1024, 2); ?>
Готовый код для вашего PHP скрипта
У себя на сайте я использую следующий код:
<?php $start = microtime(true); ?> <!-- Здесь какой-то код вашего скрипта--> <?php $finish = microtime(true); $delta=round($finish-$start, 3); if ($delta < 0.001) $delta = 0.001; ?> <?php echo round (memory_get_usage()/1024/1024, 2); ?> МБ / <?php echo $delta; ?> сек
Как видите код очень простой и думаю не требует пояснений.
Благодарности
При написании статьи были использованы следующие источники: