php set_time_limit менее одной секунды

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

Я видел функцию set_time_limit , однако в качестве аргумента это занимает целые числа в секундах.

Мой вопрос: есть ли что-то подобное, которое может использоваться со значениями менее 1 секунды?

Я ищу что-то вроде:

void set_time_limit_ms ( int $milliseconds ) set_time_limit_ms (800) 

не существует. вы просто можете эмулировать его с помощью функции галочки:

 declare(ticks=1); // or more if 1 takes too much time $start = microtime(1); register_tick_function(function () use ($start) { (microtime(1) - $start < 0.8) or die(); }); 

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

Функция set_time_limit () и директива конфигурации max_execution_time влияют только на время выполнения самого скрипта. Любое время, затрачиваемое на активность, которое происходит вне выполнения сценария, например системные вызовы с использованием system (), потоковые операции, запросы к базе данных и т. Д., Не включается при определении максимального времени выполнения сценария. Это не относится к Windows, где измеренное время реально.

Да, я часто использую microtime. видеть

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

 <?php $time_start = microtime(true); // Sleep for a while usleep(100); $time_end = microtime(true); $time = $time_end - $time_start; echo "Did nothing in $time seconds\n"; ?>