如何查看数据库获取资源(操作和处理器)的每个AR查询的数量?
函数 memory_get_usage()和 memory_get_peak_usage()无法帮助我们解决这个问题。
现在我正在使用:
ExecutionTime: <?=round(Yii::getLogger()->executionTime, 3); ?>;
MemoryUsage: <?=round(Yii::getLogger()->memoryUsage/1024/1024, 3)." MB"; ?>;
但这会导致整个应用程序。
答案 0 :(得分:1)
也许你应该安装yii debug toolbar http://www.yiiframework.com/extension/yii-debug-toolbar/。我们发现它对于分析非常有用,一旦安装它就非常简单到活动
defined('YII_ENABLE_ERROR_HANDLER') or define('YII_ENABLE_ERROR_HANDLER', false);
//show profiler
defined('YII_DEBUG_SHOW_PROFILER') or define('YII_DEBUG_SHOW_PROFILER', false);
//enable profiling
defined('YII_DEBUG_PROFILING') or define('YII_DEBUG_PROFILING', false);
//trace level
defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL', 0);
//execution time
defined('YII_DEBUG_DISPLAY_TIME') or define('YII_DEBUG_DISPLAY_TIME', false);
//debuging
defined('YII_DEBUG') or define('YII_DEBUG',true);
认为这些行也是用于SQL分析的。发现有一些谷歌搜索,但我找不到原始网址。对不起,
您还应该将其添加到config / main
'components'=>array(
'log'=>array(
'class'=>'CLogRouter',
'routes'=>array(
array(
'class'=>'ext.yii-debug-toolbar.YiiDebugToolbarRoute',
'ipFilters'=>array('127.0.0.1'),
),
),
),
)
答案 1 :(得分:0)
您可以尝试使用“CWebLogRoute”。它会告诉你更多信息。
尝试在“main.php”下添加它。
'log' => array(
'class' => 'CLogRouter',
'routes' => array(
array(
'class' => 'CFileLogRoute',
'levels' => 'error, warning',
),
array(
'class'=>'CWebLogRoute',
),
),
),