Как узнать время выполнения скрипта
При отладке скриптов обязательным фактором, который необходимо учитывать в первую очередь, является время выполнения скрипта. И в этой небольшой статье я покажу очень хороший и простой способ, как узнать время выполнения скрипта.
В основе лежат функции для работы с датой и временем. Предлагаю рассмотреть пример, чтобы Вы поняли, как происходит подсчёт времени выполнения скрипта:
<?php
$start = microtime(true);
$sum = 0;
for ($i = 0; $i < 100000; $i++) $sum += $i;
echo "Время выполнения скрипта: ".(microtime(true) - $start);
?>
В результате мы увидим, что время выполнения скрипта будет, например, таким: "0.014652967453". Если округлить, то это 0.015 секунды. Это и есть время выполнения скрипта.
Теперь о том, как это работает. Функция microtime() с переданным значением true возвращает число секунд, прошедших с полуночи 01.01.1970, причём это значение подсчитано до сотых долей секунды.
Далее идёт обычный скрипт, который мы и проверяем. Вместо него, безусловно, будет Ваш скрипт. И, наконец, последней строкой идёт разница между текущим временем (после выполнения скрипта) и тем, что мы зафиксировали при старте скрипта. Разница времени после выполнения скрипта и времени до начала его работы, и есть время выполнения скрипта.
Думаю, здесь всё просто. А вот применять этот способ подсчёта времени я Вам настоятельно рекомендую. Например, когда я отлаживал работу своего движка, на котором и стоит данный сайт, я ускорил его работу почти в 2 раза.
-
- Михаил Русаков
Комментарии (20):
А для чего есть переменная $_SERVER["REQUEST_TIME"] ?
Ответить
Можно и её использовать вместо $start, суть та же самая будет и результат тот же (поскольку функция microtime() выполняется почти мгновенно). Это кому как удобнее, я показал свой вариант.
Ответить
Здравствуйте Михаил. Я пишу свою CMS и при создании совмещаю ООП и процедурный стиль. Время выполнения от 0.041 до 0.059 . Я так понимаю время это не плохое. Вопрос в другом стоит ли использовать совмещения стилей програмирования и можно ли так делать?
Ответить
Михаил, а ваш сайт какое время выполнения скрипта имеет?
Ответить
18-24 мс в зависимости от страницы.
Ответить
Ого... Я сделал форум, он у меня выполняется 2-3 секунды. Как можно ускорить? Какие операции занимают больше всего времени?
Ответить
Хорошая эта штуковина с измерением времени. Оказалось у меня время подключения к БД примерно 1.0148439407349 секунд. Интересно из-за чего это? Из-за СУБД?
Ответить
Надо тестировать и смотреть, какая строка кода занимает больше всего времени.
Ответить
Создал такой скрипт: <?php $start = microtime (true); $link = mysql_connect ('localhost','root','1111'); echo microtime(true) - $start; ?> Время выполнения 1.01 - 1.06 сек.
Ответить
Вау. Аж залетал сайт. Я то думаю, чего он так долго грузится? Думал из-за многих и больших запросов (может и не грамотно). Оказалось в host у меня стояло: 127.0.0.1:8080 localhost . Убрал порт, все залетало:) Спасибо!
Ответить
Михаил,я вот делаю сайт и в меня там все из базы данных вытаскиваеться,меню,текст,комментарии,и многое,и 2 раза подключаються файлы на каждой странице и вот время выполнение 0.12234306335449 скажите ето сколько милисекунд и ето плохая скорость, или быстрая????????Спасибо заранее.
Ответить
Нормальная скорость.
Ответить
что за переменная sum?
Ответить
Это просто пример суммирования.
Ответить
Мне вот тоже интересно узнать. Время выполнения движка на страницу колеблется от 14 до 20 мсек. Это нормально? При условии, что тестирую движок со всеми свистелками на денвере (на своем пк). И как это скажется, если я, допустим, поставлю этот движок на свой сайт в инете, где посещаемость 2000+ в день? Очень заинтересовался вопросом оптимизации, и мучает много вопросов по этой теме, в основном по поводу быстродействия движка, при N-посещаемости на сайте.
Ответить
Александр, это хороший результат, для домашнего ПК. Сложно сказать как будет вести себя сайт, надо тестировать под нагрузкой.
Ответить
Спасибо, Александр, успокоили на первое время :)
Ответить
Можете подсказать самый простой но практичный способ добавления статей на сайт?чтобы не вручную html писать каждый раз а прямо на сайте написать статью и нажать кнопку добавить и она появилась в разделе нужном.расскажите о принципах.полностью код писать не нужно. спасибо!
Ответить
Здравствуйте. Все не так просто как хотелось бы. Тут одним HTML не обойтись. Используется связка php+mySQL. Элементарно сделать, это можно путем добавления текста, который введен в форму в БД, а с БД выводить уже.
Ответить
понял.спасибо.буду разбираться сам ))) а можете еще ответить на мой вопрос на странице http://myrusakov.ru/podkluchenie-file-php.html спасибо
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.