Как измерить время работы скрипта на php и для чего это нужно?
Приветствую Вас, уважаемые читатели блога webcodius! Итак, сразу к делу. Сначала отвечу на вторую часть вопроса: зачем же может понадобиться измерить время выполнения скрипта?.При работе над отладкой веб-проектов важным фактором, который следует обязательно учитывать, является время выполнения скриптов. Этот параметр необходим чтобы понять насколько быстро и производительно работает тот или иной кусок кода. Определив время потраченное сервером на выполнение php скрипта, вы сможете сделать вывод: требуется ли оптимизация кода или нет. Далее рассмотрим как это сделать.
Для анализа производительности php-скриптов существуют различные расширения и библиотеки, например XDebug, которое может выполнять отладку скриптов и профилировать их по времени выполнения. Но для использования таких расширений требуется потратить время на их установку и настройку. Конечно для оптимизации работы крупных проектов со соложной архитектурой, большим количеством скриптов и миллионами строк кода лучше воспользоваться такими расширениями. Но если необходимо оптимизировать 3-4 скрипта с одной или двумя сотнями строк кода, то для измерения времени работы скрипта можно воспользоваться только средствами php.
Как в php определить время выполнения скрипта
Данная задача легко решается с помощью функций для работы с датой и временем, а именно встроенной функции microtime()
, которая возвращает число секунд, прошедших с полуночи 01.01.1970. Вызвав эту функцию дважды, мы можем вычислить время прошедшее в период между вызовами:
1. 2. 3. 4. |
$start = microtime(true); //начало измерения usleep(500); // какие-то действия $end = microtime(true); //конец измерения echo "Время выполнения скрипта: ".($end - $start); //вывод результата |
Результат здесь.
Если запустить скрипт, то результат будет примерно таким:
Время выполнения скрипта: 0,00059400000000001
Кратко, как это работает. С помощью функции microtime(true)
запоминаем метку времени начала работы скрипта в переменную $start
. Далее идет рабочий код, который выполняет какие-то действия. В данном примере просто вызывается функция usleep()
, которая замедляет работу скрипта на задданное количество микросекунд. И затем получаем время окончания работы скрипта, запоминаем ее в переменную $end
и вычисляем время выполнения кода путем вычитания $start
из $end
. В итоге получили время выполнения скрипта.
Теперь зная как определить в php время выполнения скрипта, вы можете приступать к оптимизации различных блоков кода. Желаю удачи и до встречи в следующих постах!
Оставить комментарий