为什么CakePHP3在自动加载流浪者盒子上的类时如此缓慢?

为什么CakePHP3在自动加载流浪者盒子上的类时如此缓慢?,cakephp,vagrant,cakephp-3.0,autoload,Cakephp,Vagrant,Cakephp 3.0,Autoload,设置 漫游盒(2gb内存) Apache/2.2.22(Ubuntu) PHP 5.4.38-1+deb.sury.org~precise+2(cli)(构建时间:2015年2月20日12:16:47) CakePHP3 我刚刚用composer安装了一个新的CakePHP3,使用非常基本的默认主页,我注意到该页面需要4~5秒才能加载。以下是基准测试(kitchen.com是服务器别名): Chrome开发工具 PhpStorm+Xdebug 即使是composer.phar dump

设置

  • 漫游盒(2gb内存)
  • Apache/2.2.22(Ubuntu)
  • PHP 5.4.38-1+deb.sury.org~precise+2(cli)(构建时间:2015年2月20日12:16:47)
  • CakePHP3
我刚刚用composer安装了一个新的CakePHP3,使用非常基本的默认主页,我注意到该页面需要4~5秒才能加载。以下是基准测试(
kitchen.com
是服务器别名):

Chrome开发工具

PhpStorm+Xdebug


即使是composer.phar dumpautoload-o也没有改变任何事情


有时,由于自动加载和php_sapl_名称,一些REST调用(返回小json)可能达到12秒:

Ajax REST调用

  • 请求URL:
  • 请求方法:获取
  • 答复:
{
“设置”:{
“站点名称”:“站点设置”,
“描述”:“Lorem ipsum”
}
}
  • 控制器操作:
公共功能索引(){
$this->set('settings',['sitename'=>'Site settings','description'=>'Lorem ipsum']);
$this->set(“序列化”、“设置”);
}
Chrome开发工具和PhpStorm+Xdebug



那么,这是CakePHP3上的常见错误还是来自我的服务器配置

您应该确保已启用操作码缓存。通常,如果没有操作码缓存,PHP性能会受到很大影响

还要确保您的机器在IO性能方面不受限制。因为PHP应用程序需要在每个请求上加载大量文件,所以磁盘IO很重要


我想说,你的结果远远不是典型的。我通常会从烘焙代码中得到响应来补充这个答案,您也可以使用“NFS”作为共享文件夹。我有一个类似的问题,与另一个应用程序的磁盘IO带来的应用程序加载到几秒钟。将其更改为NFS后,所有时间都在30毫秒以下。好的,将共享文件夹更改为NFS解决了此问题。谢谢如果有人发现nfs共享也很慢,我建议使用rsync模式。或者,简单地说,如果可能的话,根本不要在与主机共享的路径上运行应用程序。仅供参考:我在PhpStorm调试中遇到了一些错误,这些错误会导致严重的延迟。确保清除浏览器缓存,并删除调试cookie。我见过这样的减速,总是调试程序造成的。