"Истина где-то рядом."

Уроки HTML

Скрипты PHP

Шаблоны HTML

Меню сайта
Уроки HTML
Уроки CSS
HTML5
Скрипты JAVA
Вёрстка
Графика
Оптимизация сайта
Дополнительно


Реклама на сайте:




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


папка digest

Урок № 3

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

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

Многие называют этот прием подсчетом времени генерации страницы.

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

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

Применение функции include в 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 величин - и есть время генерации!

 





Создано|Обновлено: 05.05.2022.