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不是很快,这是我在这里结束的主要原因。。。我将尝试在我加载的库中添加标记…很好,这似乎是一个插件。谢谢结果的单位是什么?