Измерение времени запроса - PullRequest
       4

Измерение времени запроса

2 голосов
/ 09 октября 2011

Я использую PDO, есть ли способ измерить, сколько времени потребуется для выполнения запроса?

Ответы [ 3 ]

6 голосов
/ 09 октября 2011

Вы можете использовать microtime (true), чтобы получить секунды, необходимые для выполнения:

$start = microtime(true);
//Your code
echo 'Time needed: ' . (microtime(true) - $start) . '.';

Чтобы получить более точное время, вы должны выполнить этот тест больше раз (10000 здесь):

$start = microtime(true);
for ($i = 0; $i < 10000; ++$i) {
    //Your code
}
echo 'Time needed: ' . (microtime(true) - $start) . '.';

@ Baz1nga, этот код не работает, поскольку microtime_float () не является функцией (извините, я не могу комментировать, нужно больше репутации: ()

1 голос
/ 09 октября 2011

Вы пытались использовать Микро время для измерения времени. Просто окружите все, что вы хотите измерить вокруг этого куска кода, и вы должны получить время.

$time_start = microtime_float();

// code to be measured

$time_end = microtime_float();

$timeMeasured = $time_end - $time_start;


function microtime_float()
{
    list($usec, $sec) = explode(" ", microtime());
    return ((float)$usec + (float)$sec);
}
0 голосов
/ 09 октября 2011

Как сказал Sietse, используйте функцию microtime для измерения прошедших микросекунд.

Если вы тестируете MySQL перед тестовым запросом, выполните следующий запрос:

RESET QUERY CACHE;

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...