Страница 1 из 1

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

Добавлено: 2012.10.07, 04:04
Joseph Jevelin
В поисках, подскажите...

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

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

Добавлено: 2012.10.07, 08:36
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

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

Добавлено: 2012.10.07, 12:54
lancecoder
так вы хотите сказать, что rmcreative.ru в вечном дебаге? :-D

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

Добавлено: 2012.10.07, 13:05
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]), ' сек.';
    }

} 

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

Добавлено: 2012.10.07, 13:59
Joseph Jevelin
Спасибо, ребята)

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

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

'db' => array(
    ...
    'enableProfiling' => true,
),
--
Как вы считаете, сколько запросов нормально? Конечно зависит от функционала, но если брать за пример тот же rmcreative.ru? Около 50 на страницу, или больше?

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

Добавлено: 2012.10.09, 01:09
bookreev
Вот полезная штука на стадии разработки http://www.yiiframework.com/extension/yii-debug-toolbar