gpt4 book ai didi

php - 为什么 Symfony 2 在我的环境中响应极其缓慢?

转载 作者:可可西里 更新时间:2023-11-01 12:50:46 26 4
gpt4 key购买 nike

我有一个运行 Debian Squeeze 的 VMware 虚拟机。我所有的项目都在我的 Windows 机器上的一个文件夹中,可通过 VMware 共享文件夹访问 Debian VM。这意味着我可以在我的 Windows 机器上使用适当的文本编辑器处理我的项目,同时从 linux 环境托管它们。我已经使用这个设置几个月了,在使用 PHP 或其他开发相关任务托管 Apache 站点时没有任何问题,直到我尝试了 Symfony .

我现在在我的 htdocs 目录中有一个 Symfony 2 开箱即用的演示实例 (Symfony_Standard_Vendors_2.2.1.tgz),还有一个在我的 Windows 机器上,共享与虚拟机。我的 htdocs 目录如下所示:

htdocs
|`- Symfony
`- Symfony_shared -> /mnt/hgfs/Dropbox/Symfony

Symfony 是位于 htdocs 文件夹中的实际物理目录,而 Symfony_shared 是我 Windows 机器上 Dropbox 文件夹的软链接(soft link)。我必须重复;我以前从未遇到过这种方法的任何性能问题。

相同的文件系统

现在 - 当我访问 http://devmachine.local/Symfony/web/app_dev.php 时在浏览器中进入探查器,我看到这些数字:

Total time           83 msInitialization time  43 ms

非常好的数字。整个响应在不到 100 毫秒内准备就绪。

链接

但是当我访问http://devmachine.local/Symfony_shared/app_dev.php我在探查器中看到非常不同的数字:

Total time           6833 msInitialization time  4249 ms

谁能解释一下这些数字?什么是“初始化时间”?为什么会超过 4 秒?请记住,这只是 Symfony 演示欢迎页面。我的实际测试项目中的登录页面初始化时间为19秒,总时间为22秒。

我应该提一下,我还在两个目录中运行 php app/console 进行了快速测试。在 Symfony 文件夹中,此命令会立即返回使用情况,而在 Symfony_shared 中,它需要几秒钟才能响应。

我对 Symfony 文件夹所做的唯一更改是删除 app_dev.php 中将流量限制为 127.0.0.1 的部分。


我在 Debian 6.0.7(挤压)上使用 Apache 2.4.4 和 PHP 5.4.14。

这是 Symfony_shared 欢迎页面分析器的屏幕截图:

Screenshot of the Symfony_shared welcome page profiler

最佳答案

检查您的 PHP 配置是否存在阻止统计缓存工作的 open_basedir 限制。 Symfony 进行了大量的 fstat() 调用,如果这些调用没有被缓存,Symfony 会非常慢。您的符号链接(symbolic link)也可能阻止统计缓存工作。如果您分析您的应用程序(并包含 native PHP 函数),很明显是 fstat() 导致了您的问题。

在 PHP Bug #49383 中有一些关于它的信息。 .

关于php - 为什么 Symfony 2 在我的环境中响应极其缓慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16091628/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com