Расширение "Количество запросов..."

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
Joseph Jevelin
Сообщения: 339
Зарегистрирован: 2012.01.06, 22:07

Расширение "Количество запросов..."

Сообщение Joseph Jevelin »

В поисках, подскажите...

Не могу найти очень полезное расширение, как на rmcreative.ru (внизу страницы). Где-то видел, но позже потерял(
Аватара пользователя
kosenka
Сообщения: 677
Зарегистрирован: 2009.09.26, 12:41
Откуда: москва
Контактная информация:

Re: Расширение "Количество запросов..."

Сообщение kosenka »

Joseph Jevelin писал(а):В поисках, подскажите...

Не могу найти очень полезное расширение, как на rmcreative.ru (внизу страницы). Где-то видел, но позже потерял(
Это не расширение.
Вот код:

Код: Выделить всё

ExecutionTime: <?=round(Yii::getLogger()->executionTime, 3); ?>;
MemoryUsage: <?=round(Yii::getLogger()->memoryUsage/1024/1024, 3)." MB"; ?>;

<? $dbStats=Yii::app()->db->getStats(); ?> 
DatabaseQuery (time): <?=$dbStats[0].' ('.round($dbStats[1],6).')'; ?>; //это будет показываться если в index.php прописать define('YII_DEBUG',true);
Вставить в layout
Аватара пользователя
lancecoder
Сообщения: 2532
Зарегистрирован: 2012.06.26, 17:16

Re: Расширение "Количество запросов..."

Сообщение lancecoder »

так вы хотите сказать, что rmcreative.ru в вечном дебаге? :-D
Аватара пользователя
Beaten_Sect0r
Сообщения: 234
Зарегистрирован: 2011.06.15, 14:58
Откуда: Ярославль
Контактная информация:

Re: Расширение "Количество запросов..."

Сообщение Beaten_Sect0r »

Код: Выделить всё

<?php

class Info extends CWidget
{

    public $all_time = true;
    public $memory = true;
    public $db_time = true;
    public $db_query = true;

    public function run()
    {
        if ($this->all_time)
            echo sprintf('Скорость загрузки: %0.5f', Yii::getLogger()->getExecutionTime()), ' сек. | ';
        if ($this->memory)
            echo 'память: ', round(memory_get_peak_usage() / (1024 * 1024), 2), ' MB | ';
        $sql_stats = YII::app()->db->getStats();
        if ($this->db_query)
            echo 'запросов к БД: ', $sql_stats[0];
        if ($this->db_time)
            echo sprintf(' | выполнение: %0.5f', $sql_stats[1]), ' сек.';
    }

} 
_https://coru.ws
Joseph Jevelin
Сообщения: 339
Зарегистрирован: 2012.01.06, 22:07

Re: Расширение "Количество запросов..."

Сообщение Joseph Jevelin »

Спасибо, ребята)

Ещё маленькое замечание:
Выставив в настройках приложения CDbConnection::enableProfiling в true, мы получим профилирование всех выполняемых SQL-запросов. Полученные результаты можно вывести при помощи вышеупомянутого CProfileLogRoute, показывающего, какой SQL-запрос сколько времени занял. Для вывода общего количества запросов и общего времени выполнения можно использовать CDbConnection::getStats().
/protected/config/main.php:

Код: Выделить всё

'db' => array(
    ...
    'enableProfiling' => true,
),
--
Как вы считаете, сколько запросов нормально? Конечно зависит от функционала, но если брать за пример тот же rmcreative.ru? Около 50 на страницу, или больше?
bookreev
Сообщения: 10
Зарегистрирован: 2012.09.07, 20:15

Re: Расширение "Количество запросов..."

Сообщение bookreev »

Вот полезная штука на стадии разработки http://www.yiiframework.com/extension/yii-debug-toolbar
Ответить