Получаем время генерации страницы посредством PHP…
Ex.clusive | 26.08.2010Вспомнилось тут, как пару лет назад при написании достаточно большого массива простеньких php-сценариев для одного сайта нужно было наглядно продемонстрировать человеку разницу во времени исполнения этих самых сценариев в зависимости от простоты используемых в них алгоритмов. И, надо признаться, в тот момент это вылилось для меня в небольшую проблему. Выход, правда, был найден очень быстро, однако, тогда же заметил, что с этой же проблемой сталкиваются еще очень многие начинающие программисты. Так что, решил поделиться одним из простейших вариантов получения необходимой информации, основанным на двух самописных функциях.
Итак, первая функция:
function gen_timer_start() { global $timer_start_time; $start_time = microtime(); $start_array = explode(" ",$start_time); $timer_start_time = $start_array[1] + $start_array[0]; return $timer_start_time;}
Краткое описание: объявляем глобальную переменную $timer_start_time, в которую будем записывать время начала генерации страницы; получаем время с помощью функции microtime(); форматируем данные в приемлемый вид и записываем их в выходную переменную.
Вторая функция:
function gen_timer_stop() { global $timer_start_time; $end_time = microtime(); $end_array = explode(" ",$end_time); $timer_stop_time = $end_array[1] + $end_array[0]; $time = $timer_stop_time - $timer_start_time; $time = substr($time,0,5); echo "Страница сгенерирована за $time секунд";}
Объявляем глобальную переменную из первой функции; так же, получаем время с помощью стандартной функции и форматируем его; в переменную $time записываем разницу между временем начала и окончания генерации; форматируем последнюю переменную в нужном нам виде и выводим.
Осталось только вставить первую функцию в начало исполняемого кода, а вторую – в его конец. Результат получаем примерно такого вида: “Страница сгенерирована за 0.244 секунд”.
Примечание: не стоит путать время генерации страницы и время передачи уже сгенерированной страницы от сервера клиенту – последнее может занимать куда больше времени. Под генерацией, в данном случае, подразумевается обработка динамического содержимого страницы и формирование статичного html-кода…
Можно microtime(true) использовать. На PHP пятой версии вроде все перешли уже.
[...] новичка” и написал первый пост этой серии “Вывод информации о сервере посредством PHP“. В продолжение открытой темы даю новый меленький [...]
[...] писал о создании “Счетчика кликов на PHP” и “Выводе информации о сервере посредством PHP“. Сейчас же взбрело в голову написать пару слов о [...]