Php Codeigniter基准测试,这些ms来自哪里?

Php Codeigniter基准测试,这些ms来自哪里?,php,codeigniter,benchmarking,Php,Codeigniter,Benchmarking,我正在对我的网站进行基准测试 class Home extends Controller { function Home() { parent::Controller(); $this->benchmark->mark('Constructor_start'); $this->output->enable_profiler(TRUE); $this->load->librar

我正在对我的网站进行基准测试

class Home extends Controller {

    function Home() 
    {
        parent::Controller();
        $this->benchmark->mark('Constructor_start');

        $this->output->enable_profiler(TRUE);
        $this->load->library ('MasterPage');

        $this->benchmark->mark('Constructor_end');
    }

    function index() 
    {
        $this->benchmark->mark('Index_start');

        $this->masterpage->setMasterPage('master/home');
        $this->masterpage->addContent('home/index', 'page');
        $this->masterpage->show();

        $this->benchmark->mark('Index_end');
    }
}
结果如下:

加载时间基类:0.0076
构造函数:0.0007
指数:0.0440
控制器执行时间(主/索引):0.4467
总执行时间:0.4545`

我理解如下:

  • 加载时间基类(0.0076)
  • 建造商(0.0007)
  • 指数(0.0440)

但是剩下的时间从哪里来呢?我认为索引函数的最后一行应该是

$this->benchmark->mark('Index_end');

这个输入错误可能导致了有趣的结果。

Codeigniter自动对从请求到最终输出发送到浏览器的总时间进行基准测试(这是总执行时间)


此外,当它即将调用您指定的控制器/方法(通常通过url)时,它会标记该控制器/方法的开始,然后当该方法返回某些内容或向输出发送数据时,它会结束该基准测试(这是您看到的控制器执行时间(Home/Index))

我还没有对基于CI的站点进行过很多基准测试,但是0.4545似乎不是很快


在控制器执行时间保护伞下(但在自定义基准测试之外)发生的一件事是自动加载config/autoload.php文件中定义的所有内容。如果您在那里加载了大量库或模型,这将增加控制器的执行时间,而没有任何明显的原因。

不,这不是问题所在。这只是问题中的一个输入错误。谢谢你的注意…0.4545不是很快,这是我在这里结束的主要原因。。。我将尝试在我加载的库中添加标记…很好,这似乎是一个插件。谢谢结果的单位是什么?