CakePHP 3.2应用程序极其缓慢

时间:2016-06-30 09:26:43

标签: cakephp cakephp-3.0

我的应用程序运行速度非常慢,我无法弄清楚是什么导致它。数据库正在SQL Server上运行,不知道这可能是问题所在。例如,我使用jQuery UI自动完成小部件,在文本框中键入文本后,加载自动完成建议大约需要8秒(这对于这种小部件来说显然太长了)。这是我在ajax方法中用于自动完成的查询:

  $content = TableRegistry::get('Content');
  $data = $content->find('all', ['limit' => 5,  'conditions' => [
                        'OR' => [
                            'Content.slug LIKE ' => "%" . $term . "%",
                            'Content.title LIKE ' => "%" . $term . "%",
                        ]
                ]])->contain(['ContentTypes']);

另外,根据调试工具包,首页加载大约需要24秒,Sql Log显示总时间为2502 ms和39个查询。定时器面板显示 Controller.startup 的请求时间为20,156.21 ms。当我在本地计算机上运行应用程序时,所有这些都适用,当我在云中运行它时,时间是两倍高。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,但这是我修复它的方法:

  1. 在config文件夹中找到的app.php中将调试级别更改为false(对于生产模式)

    'debug'=> filter_var(env('DEBUG',false),FILTER_VALIDATE_BOOLEAN),
    
  2. 运行此命令以生成优化的自动加载文件。这样可以防止耗时的类加载:

     php composer.phar dumpautoload -o
    
  3. 如果未安装composer.phar,请使用此命令下载(如果您的服务器在Linux上运行):

         curl -s https://getcomposer.org/installer | php
    

    请记住在最终有composer.json的应用程序根文件上安装composer 希望这有帮助!