Как узнать время выполнения скрипта на PHP

« Предыдущая запись
 
  Следующая запись »
 

Иногда приходится детально обращать внимание на скорость выполнения того или иного скрипта (или части скрипта), не ограничиваясь своим беглым намётанным взглядом. Вот тогда то и приходят на помощь возможности PHP по замеру скорости загрузки. Вы наверняка их использовали, да и в целом знаете как это делается. Но на всякий случай, для тех кто не в курсе как это делать, а также для раздела "Важные мелочи", выкладываю простейший код, решающий данный вопрос.

$start = microtime(true);
// тело скрипта
echo 'Время выполнения скрипта: '.(microtime(true) - $start).' сек.';

Всё до безумия просто. В первой строке мы создаём переменную с временем начала работы. Оно достигается посредством функции microtime с переданным true – это позволяет получить количество секунд с большим числом знаков после запятой. Время, к слову, в формате Unix.

Далее идёт весь код скрипта, после чего, в третьей строке, мы вычитаем из текущего времени время начало работы скрипта и вуаля – вы имеете время выполнения php скрипта с точностью до едритькакого знака после запятой.

 

Напоследок, перед выходными, я хочу поделиться с вами одной игрой. Игра некомпьютерная и рассчитана на весёлых пьяных друзей, для которых не чужд интернет. Нужно распечатать, найти игральный кубик, и сесть вечерком с друзьями за бутылочкой чего-нибудь горячительного. Всё таки сейчас дубовенько и в Питере, вроде как, обещают самый дубак на эти выходные. Кароче, не мёрзнете! icon smile Как узнать время выполнения скрипта на PHP

drinktimeadventures thumb Как узнать время выполнения скрипта на PHP


1 звезда2 звезд3 звезд4 звезд5 звезд (голосов: 7, средний: 4.86 из 5)
Понравилась статья или журнал? Подписывайся на продолжение!
Отзывов: 13 на запись

"Как узнать время выполнения скрипта на PHP"

  1. Сашенька, спасибо тебе за этот блог! Очень хорошо объясняешь! Люблю тебя и твой блог =*

  2. Александр Шуйский
    12/02/2012 at 0:32 Постоянная ссылка Цитировать

    Ой, большое спасибо :)

  3. Надеюсь, в следующие выходные в Питере будет тепло. Собираюсь приехать :-)

  4. Александр Шуйский
    15/02/2012 at 11:57 Постоянная ссылка Цитировать

    Довай-довай, скрещу пальцы на хорошую погоду! А ещё надеюсь, что через неделю в Таллине будет хорошая погода, а то с женой там в выходные будем, и было бы обломно шастать там по морозу =)

  5. За игру спасибо ,
    а метод замера – как то, напоминает способ – как найти площади Ленина. Разве что, совсем косячный код отловить, а так нужна аналитика. Когда, насколько, сколько активных запросов и что проседает в коде. Но это скорее анализ работы акселераторов или чего-то подобного. Кстати , есть что сказать по этому поводу?)

  6. Александр Шуйский
    09/04/2012 at 11:01 Постоянная ссылка Цитировать

    Естественно, этот скрипт не для того, чтобы ловить какие-то конкретные баги, природу которых ты не знаешь. Анализировать можно не только акселераторы, но и чего-то своё собственное, особенно, если поначалу не знаешь всех тонкостей – что быстрее, что медленнее, и пробуешь несколько вариантов (актуально для скриптов, работающих с большим объёмом данных). Плюс возможно собирать аналитику, например, по составлению каких-нибудь sql запросов – как быстрее, так или так, и варьировать при этом объём данных.
    В общем, не скажу, что этот скрипт особо полезен при повседневности, но для частных случаев оно самое то.

  7. А если не хотите точность до едритькакого знака после запятой – то округлите до какого хотите! Вот пример (третья строка скрипта) округления до 4-х знаков после запятой:
    echo 'Время выполнения скрипта: '.round(microtime(true) - $start, 4).' сек.';

  8. Лучше это:
    <strong>define('ST_T', microtime());//начало
    printf('Страница сгенерирована за %.5f сек.', microtime()-ST_T);//конец</strong>

    Тут правдо константы вместо переменных, но всё равно...

  9. Александр Шуйский
    15/01/2014 at 21:44 Постоянная ссылка Цитировать

    тож хорошо, может кому-то так будет актуальнее, спасибо =)

  10. Дмитрий
    21/07/2014 at 16:39 Постоянная ссылка Цитировать

    делаю шаблон для вордпресс.
    для вп есть стандартный способ проверить (но конечно не то, не время выполнения скрипта)
    28 запросов 0,454 секунд.

    поставил ваш:
    Время выполнения скрипта: 9.5367431640625E-7 сек.

    почему такая разница в секундах?

    простите меня я не очень просто разбираюсь

  11. Александр Шуйский
    21/07/2014 at 19:34 Постоянная ссылка Цитировать

    одно дело запросы и скорость ответов (если речь о них), а другое – полная обработка скрипта. хотя может и ошибаюсь – надо по факту смотреть в чём там дело.

  12. почему такая разница в секундах?

    Потому что ошибка в статье. Не секунды, а микросекунды.

  13. Александр Шуйский
    04/08/2015 at 8:25 Постоянная ссылка Цитировать

    2Instincted, время указывается не В микросекундах, а С микросекундами. Так что ошибки нет

Добро пожаловать, коллега! Вы можете оставить свой отзыв:





Допустимые XHTML-теги:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Подписка на комментарии