为什么在Croogo / CakePHP中管理面板的请求时间如此之长?

时间:2014-05-13 19:18:48

标签: cakephp croogo

我不明白为什么我对Croogo CMS的管理员小组有这么长的请求时间。

家庭管理面板的打印屏幕(调试工具包插件): my timer log

如果页面加载,我怎样才能检查究竟是什么原因?页面视图包含少量元素,但加载时间超过4秒。

提前致谢!

1 个答案:

答案 0 :(得分:1)

渲染管理菜单似乎花费的时间最长。

我也经历过这个并写了一个补丁来缓存结果。将Plugin/Croogo/View/Elements/admin/navigation.ctp替换为以下内容:

<nav class="navbar-inverse sidebar">
    <div class="navbar-inner">
    <?php
        $cacheKey = 'adminnav_' . $this->Layout->getRoleId() . '_' . $this->request->url . '_' . md5(serialize($this->request->query));
        $navItems = Cache::read($cacheKey, 'croogo_menus');
        if ($navItems === false) {
            $navItems = $this->Croogo->adminMenus(CroogoNav::items(), array(
                'htmlAttributes' => array(
                    'id' => 'sidebar-menu',
                ),
            ));
            Cache::write($cacheKey, $navItems, 'croogo_menus');
        }
        echo $navItems;
    ?>
    </div>
</nav>