我遇到了一个奇怪的codeigniter 3问题。我在localhost上运行一个网站,有时响应时间大约为100毫秒,有时大约需要1070毫秒。
环境:windows 10 wamp,但是使用mongodb 3.0.9代替mysql。 Php版本:5.5.12
声明:
1
我有一个my_controller文件/类,里面有一个析构函数
function __destruct(){
EXIT();
}
如果我注释掉exit()函数,响应时间总是超过1秒,但如果我离开那里,平均执行时间大约是100ms。
我写了一个mongodb库,然后将它加载到自动加载文件中。我总是不用这个课,就在我真正需要的时候。有一个页面,在页面加载后我运行一个ajax调用什么使用这个类没有问题,响应时间低于100ms。在网站上有一个按钮,回忆ajax请求,但在这种情况下,响应时间总是超过1秒。
我想第一个,我班上有一些问题..但是: 我创建了一些测试: 在索引文件的顶部并定义实际的microtime
define('CI_BEGIN', microtime(true));
在my_controller类的构造函数中,我放置了这个:
function __construct(){
var_dump(microtime(true) - CI_BEGIN);
}
结果总是超过1秒。当我调用ajax请求时,除了第一次调用之外,一切正常,执行时间不到100ms。
现在我想知道这是否发生是因为ci无法破坏我的mongodb类?!
我认为这不是js / ajax错误,因为基本ci执行时间是我解释的主要问题。从my_controller的构造函数到响应的db响应和执行时间总是在70ms以内。
任何人都有想法,我应该在哪里找到错误?
更新
解决
我在mongo库中找到了问题的一部分解决方案。在这个库中有一些跨类引用。现在执行时间不到100毫秒。
BUT
如果我从my_controller的析构函数中删除退出函数,则响应时间会增加1秒。 - 这个是正常的?我不这么认为。