Как определить время выполнения PHP-скрипта?
PHP, как мы знаем, серверный язык. Для выполнения некоторых операций ему нужно время. Иногда для этого хватает и доли секунд, а иногда необходимо даже несколько минут. Но суть сейчас не столько во времени работы скрипта, сколько в определении этого времени. Узнав, какое время затрачивается на выполнение того или иного скрипта, мы можем сделать некоторые выводы и проделать ряд работ для оптимизации и ускорения такого скрипта.
Как таковой стандартной функции для определения времени нет, но есть один способ (А если быть точным, то не один, а несколько. Я же приведу простой и рабочий метод), с помощью которого можно замерить это время.
Предположим, что на экран выводиться простое сообщение, которое перед этим задерживается на 1 секунду. Выглядит подобный скрипт следующим образом:
<?php
$content = "Hello, world!";
sleep(1);
echo $content;
?>
Что мы с ним делаем, чтобы узнать точное время его выполнения?
1. В самое начало, сразу после открывающего тега <?php, вставляем:
$time_start = microtime(true);
2. А в самый конец вставляем:
$time_end = microtime(true);
$time = $time_end - $time_start;
echo "<br>Время выполнения: ".$time;
Вот, собственно, и все. Итоговый вариант будет таким:
<?php
$time_start = microtime(true);
$content = "Hello, world!";
sleep(1);
echo $content;
$time_end = microtime(true);
$time = $time_end - $time_start;
echo "<br>Время выполнения: ".$time;
?>
Такой скрипт на моем хостинге выполнился за 1.0000939369202 секунды. Учитывая, что 1 секунду у нас скрипт «спит», остальная часть у нас выполнилась за 0.0000939369202 одной секунды. Если числа для вас большие и такая точность вам не нужна, вторую нашу часть вы можете заменить на:
$time_end = microtime(true);
$time = number_format($time_end - $time_start, 2);
echo "<br>Время выполнения: ".$time;
Где «2» – это нужное количество оставляемых знаков после запятой.