php – 为什么Symfony 2在我的环境中慢慢响应?
|
我有一台运行Debian Squeeze的VMware虚拟机.我的所有项目都在我的 Windows机器上的一个文件夹中,可以通过VMware共享文件夹访问Debian VM.这意味着我可以在我的Windows机器上使用适当的文本编辑器处理我的项目,同时从 Linux环境托管它们.几个月来我一直在使用这个设置,在使用 PHP或其他与开发相关的任务托管Apache站点时没有问题,直到我尝试了 Symfony. 我现在在我的htdocs目录中有一个Symfony 2(Symfony_Standard_Vendors_2.2.1.tgz)的开箱即用演示实例,以及我的Windows机器上与VM共享的一个实例.我的htdocs目录如下所示: htdocs |`- Symfony `- Symfony_shared -> /mnt/hgfs/Dropbox/Symfony Symfony是位于htdocs文件夹中的实际物理目录,而Symfony_shared是指向我的Windows机器上Dropbox文件夹的软链接.我必须重复;我之前从未遇到任何与此方法相关的性能问题. 相同的文件系统 现在 – 当我在浏览器中访问http://devmachine.local/Symfony/web/app_dev.php并进入探查器时,我看到这些数字: Total time 83 ms Initialization time 43 ms 非常好的数字.整个响应在不到100毫秒内就绪了. 关联 但是当我访问http://devmachine.local/Symfony_shared/app_dev.php时,我在分析器中看到了非常不同的数字: Total time 6833 ms Initialization time 4249 ms 谁能解释这些数字?什么是“初始化时间”,为什么需要4秒以上?请记住,这只是Symfony演示欢迎页面.我实际测试项目中的登录页面的初始化时间为19秒,总时间为22秒. 我应该提一下,我也在两个目录中进行了快速测试运行php app / console.在Symfony文件夹中,此命令立即返回使用情况,而在Symfony_shared中,它在响应之前花了几秒钟. 我对Symfony文件夹所做的唯一更改是删除了将流量限制为127.0.0.1的app_dev.php部分. 我在Debian 6.0.7(squeeze)上使用Apache 2.4.4和PHP 5.4.14. 以下是Symfony_shared欢迎页面分析器的屏幕截图: 检查您的PHP配置是否存在open_basedir限制,从而阻止您的stat缓存工作. Symfony会进行大量的fstat()调用,如果没有缓存,Symfony会非常慢.你的符号链接也可能阻止stat缓存工作.如果您对应用程序进行概要分析(并包含本机PHP函数),那么如果它导致您的问题是fstat()则会非常明显.在PHP Bug #49383上有一些关于它的信息. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
