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

✔ Функциональность и работа скрипта
На многих динамических сайтах можно видеть в самом низу шаблона строку примерно такого содержания «Страница сгенерирована за 0.015сек».
Что это означает? Это строка сообщает о том, за какое время на сервере были выполнены все необходимые скрипты для формирования текущей страницы.
Как это делается? Нетрудно догадаться, что сначала фиксируется время начала выполнения скриптов, а затем после полного формирования страницы на сервере фиксируется время окончания формирования текущей страницы.
Далее простая операция вычитания первого числа из второго получается время генерирования страницы.
Как это выполняется практически? Ниже приведен 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убрики: