Php скрипт подсчета времени генерации страниц

Технология подсчета времени работы скрипта довольно проста, в начале скрипта объявляется счетчик и записывается текущее время с помощью функции microtime(). Время сохраняется в переменную, а затем в конце скрипта этой же функцией записывается текущее время и высчитывается разница между ними. Эта разница и будет временем, которое необходимо скрипту для выполнения.

Функциональность и работа скрипта

На многих динамических сайтах можно видеть в самом низу шаблона строку примерно такого содержания «Страница сгенерирована за 0.015сек». Php Что это означает? Это строка сообщает о том, за какое время на сервере были выполнены все необходимые скрипты для формирования текущей страницы. Как это делается? Нетрудно догадаться, что сначала фиксируется время начала выполнения скриптов, а затем после полного формирования страницы на сервере фиксируется время окончания формирования текущей страницы. Далее простая операция вычитания первого числа из второго получается время генерирования страницы. Как это выполняется практически? Ниже приведен PHP скрипт иллюстрирующий этот процесс.

Итак, в этой небольшой статье я хочу рассказать вам, как засечь время выполнения вашего кода на Php. Многие называют этот прием подсчетом времени генерации страницы.

Коротко о том, как работает этот скрипт

Скрипт разделен на две части, которые с помощью известной функции include вставляются например в шаблонизатор сайта. Первая часть скрипта подключается в самом начале шаблонизатора, а вторая часть в его конце.

  • Перед выполнением того кода, который мы хотим засечь, считываем текущее время.
  • После выполнения кода, опять же считываем текущее время и выводим разницу получившихся времен.

Советую сразу файлы части скрипта, отвечающие за подсчет времени в начале и в конце кода, соответственно, вынести в отдельные файлы и вставлять их по мере необходимости.

Kод скрипта start.php, который подсчитывает текущее время (вставлять в том месте, откуда начинаем подсчет, т.е. где-то в начале страницы).

Файл start.php

<?
// считываем текущее время
$start_time = microtime();
// разделяем секунды и миллисекунды
//(становятся значениями начальных ключей массива-списка)
$start_array = explode(" ",$start_time);
// это и есть стартовое время
$start_time = $start_array[1] + $start_array[0];
?>

Мы подсчитали стартовое время . Теперь код файла end.php, который также подсчитывает текущее время, а затем выводит разность этого времени от подсчитанного в файле start.php, то есть, по сути дела, и выводит время генерации страницы.

Файл end.php

<?
 // делаем то же, что и в start.php, только используем другие переменные
$end_time = microtime();
$end_array = explode(" ",$end_time);
$end_time = $end_array[1] + $end_array[0];
// вычитаем из конечного времени начальное
$time = $end_time - $start_time;
// выводим в выходной поток (браузер) время генерации страницы
printf("Страница сгенерирована за %f секунд",$time);
?>
 

Файл start.php надо вставить туда, откуда хотите начинать засекать время; соответственно файл end.php - туда, где надо «остановить ваш секундомер». Вставки файлов можете осуществлять, к примеру, инструкцией include();

Посмотреть пример работы скрипта генерации страницы

Важно знать!   Для тех кто в танке! Pасчитываем время в начале скрипта - microtime() затем в конце, разница этих 2 величин - и есть время генерации!
Считаете информацию полезной? Поделитесь с друзьями в соц. сетях, выскажете свое мнение в комментариях.

Внимание! Остались вопросы после прочтения статьи или есть что сказать? Оставляйте свои комментарии:

► Оставить коментарий:

Имя: Ваш вопрос:

Леонид Пивторак (Администратор.)
Ответ на вопрос:

Pубрики:


^НАВEPХ^
Любое копирование материала без указания источника Пивторак.рф запрещено!