Форум сетевых администраторов
Показаны 9 сообщений на этой странице

Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- PHP (http://netadmin.ws/forum/forumdisplay.php?forumid=6)
-- Время генерации страницы (http://netadmin.ws/forum/showthread.php?threadid=10987)


Помещено Zip Zero 28-08-2005 в 18:02:

Время генерации страницы

Дано: собственноручно изготовленный "движок", то есть его жалкое подобие. Хочется добавить на все страницы время генерации (для понту, что ли). Делаю вот так (не пинайте если что):


PHP:


//в самом начале страницы:
<?
function getmicrotime(){ 
    list(
$usec, $sec) = explode(" ",microtime()); 
    return ((float)
$usec + (float)$sec); 
    } 
$time_start = getmicrotime();
?>


// потом туча HTML, include, require, запросов к MySQL и прочей белиберды, в самом конце страницы - вот это:

PHP:

<?
$time_end 
= getmicrotime();
$time = $time_end - $time_start;
$time=round($time*1000);
echo 
"<b>Время генерации: </b>$time мсек.<br>";
?>


Вопрос знатокам: Есть ли альтернатива, и реально ли в моем случае сделать что-то подобное этому:

Время генерации: 0.066 сек
-- 45.73% PHP
-- 54.27% MySQL

После долгих и безуспешных попыток поиска этого в книгах по PHP взываю к вам ....


Помещено he][es 29-08-2005 в 04:44:

Zip Zero а в чём проблема? Ты на правильном пути, общее время посчитал... Теперь считай время SQL запросов... (SQL драйвер у тебя свой?)..

__________________
Админ - вождь Апачей...


Помещено polo 29-08-2005 в 07:40:

Для каждого SQL запроса вызываешь таймер:
$sql_time = 0;
$start_sql = getmicrotime();
sql query here
$sql_time += ($start_sql - getmicrotime());

__________________
Всегда есть решение.


Помещено Zip Zero 29-08-2005 в 07:59:

he][es
Над SQL-драйвером не заморачивался, пока еще не могем такого....

polo
Проверил. Вроде работает. При доработке напильником получается как раз то, что я хотел. Благодарствую!


Помещено he][es 29-08-2005 в 11:49:

Если делать как сказал polo НО без драйвера, то эту конструкцию придётся пихать на каждый запрос! Ð_то ОЧЕНЬ неудобно... Пиши простейший драйвер и вызывай эту конструкцию при каждом к нему обращении... и накапливай время... Вот..

__________________
Админ - вождь Апачей...


Помещено Zip Zero 29-08-2005 в 12:01:

he][es
Ткни меня носом в талмуд, где написано КАК это написать - я напишу, потому что сам вижу - запарюсь я код топтавши.


Помещено he][es 30-08-2005 в 00:27:

Я к примеру делал на основе стыренного из IPB... посмотри, там оч. просто сделано...

__________________
Админ - вождь Апачей...


Помещено polo 30-08-2005 в 07:39:

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

__________________
Всегда есть решение.


Помещено he][es 30-08-2005 в 20:11:

Ну там целый класс... connect, disconnect, query & etc...

__________________
Админ - вождь Апачей...


Формат времени GMT. Текущее время 12:07.
Показаны 9 сообщений на этой странице

Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.