小编use*_*929的帖子

执行简单数据库查询时CakePHP的响应非常慢

我是CakePHP框架的新手,正在尝试设置一个"Hello World"项目.在处理它时,我在执行简单的数据库查询时遇到了来自CakePHP的非常慢的响应.

以下是我所做的步骤:

  1. 下载CakePHP框架(2.3.0 RC1)并进行设置
  2. 使用名为"Tests"的空表创建"Test"DB.
  3. 编辑默认的AppController.php文件,如下所示:

    class AppController extends Controller {
    
        var $uses = array('Test');
    
        function say_hello() {
        $this->Test->query("select * from test where id=0");
        echo "hello";
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  4. 之后,我访问了"http:// localhost/app/say_hello"链接,并且响应时间超过1秒.

如果我将查询语句注释掉如下:

class AppController extends Controller {

    var $uses = array('Test');

    function say_hello() {
        //$this->Test->query("select * from test where id=0");
        echo "hello";
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,它只需要大约60ms来响应.

这对我来说似乎不对,因为在空表上执行简单查询不应该花费~940ms.我尝试使用DebugKit进行调试,它表明ControllerAction(在这种情况下,say_hello动作非常简单)占用了超过1秒的处理时间.另请注意,缓慢问题不是由DB引起的,因为DebugKit表明在执行say_hello操作时只有一个查询,并且该查询几乎需要0ms才能完成.

我不确定是什么导致这种缓慢.任何经验丰富的CakePHP成员能否告诉我一些关于这种情况下错误的信息?我还应该做些什么来解决问题并解决问题?

谢谢.

php cakephp cakephp-model

1
推荐指数
1
解决办法
4037
查看次数

无法对node-ftp模块中的方法进行去除

我是node.js和promise样式函数调用的新手.通过查看http://runnable.com/Ulatc0QnzUgUAAAK/adapting-node-js-with-q-for-promises上的denodeify示例,我试图将node.js node-ftp模块的方法去除如下:

var ftp = require('ftp');
var q = require('q');
var ftpClient = new ftp();
ftpClient.on('ready', function() {
    var ftpList = q.denodeify(ftpClient.list);
    ftpList().then(function(list) {
        console.log(list);
    }.then(null, function(err) {
        console.log(err);
    }).done(function() {
        ftpClient.end();
    });
});
ftpClient.connect();
Run Code Online (Sandbox Code Playgroud)

但是,当使用节点运行该代码时,它会显示错误"list error:TypeError:Object#have method'apasv'"

我不确定这段代码有什么问题.有谁知道这有什么问题?你能指点我调试/排除错误信息的原因吗?

谢谢.

javascript node.js promise

1
推荐指数
1
解决办法
1091
查看次数

标签 统计

cakephp ×1

cakephp-model ×1

javascript ×1

node.js ×1

php ×1

promise ×1