Правильный расчет времени, необходимого для создания страницы с помощью PHP - PullRequest
0 голосов
/ 09 мая 2018

Я использую следующий код для расчета времени, затрачиваемого PHP на генерацию страницы.

<?php echo (microtime(true) - $_SERVER['REQUEST_TIME_FLOAT']);?>

Я поместил этот код непосредственно перед закрывающим тегом body, поэтому я предполагаю, что результат будет достаточно точным.

Значение, возвращаемое этим кодом: 0,4458909034729 и другие подобные значения.

Я прочитал документацию по PHP и некоторые другие статьи, но я не совсем уверен, что возвращаемое значение - в секундах, миллисекундах или микросекундах.

Объяснение было бы очень полезно для меня и других коллег новичков. :)

1 Ответ

0 голосов
/ 09 мая 2018

Из документации:

  1. http://php.net/manual/en/reserved.variables.server.php

'REQUEST_TIME_FLOAT' Временная метка начала запроса с точностью микросекунда . Доступно с PHP 5.4.0.

  1. http://php.net/manual/en/function.microtime.php

microtime - Возвращает текущую метку времени Unix с микросекундами

Но давайте сделаем некоторую проверку. создайте простой скрипт:

sleep(2);
$t = microtime(true);
var_dump(
    $_SERVER['REQUEST_TIME_FLOAT'], 
    $t, 
    $t - $_SERVER['REQUEST_TIME_FLOAT']
);

Результат на моей машине:

float(1525895588.0071) 
float(1525895590.0074) 
float(2.0003039836884)

Как мы видим - значения: секунд (1525895588) с микросекундами части (0071). И diff кажется правильным - наш скрипт спит в течение 2 секунд.

Итак, результат вашего вычитания составляет секунд . И в вашем примере ваш скрипт выполняется за полсекунды, , а не за полсекунды.

...