首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Symfony2初始化时间较慢

Symfony2初始化时间较慢
EN

Stack Overflow用户
提问于 2012-10-16 07:24:45
回答 9查看 38.4K关注 0票数 56

我在Ubuntu Server12.04(64位) VM (VirtualBox)上运行Symfony2。主机是MacBook专业人员。由于某些原因,我在开发模式(app_dev.php)中得到了非常长的请求时间。我知道在dev模式下比较慢,但我说的是每个请求5-7秒(有时甚至更慢)。在我的Mac上,在开发模式下,我得到了200ms左右的请求时间。

在Symfony2分析器中查看了我的时间线后,我注意到大约95%的请求时间是“初始化时间”。这是什么?它会如此缓慢的原因是什么?

这个问题只适用于开发模式下的Symfony2,不适用于我在VM上运行的任何其他站点,甚至不适用于生产模式下的Symfony2。

我看到了这个(http://stackoverflow.com/questions/11162429/whats-included-in-the-initialization-time-in-the-symfony2-web-profiler),但它似乎没有回答我的问题。

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2012-10-19 12:04:53

我找出了问题的原因(而不是Symfony2)。由于某些原因,在ubuntu虚拟机上,某些文件的修改时间是不正确的(例如,在将来,等等)。当symfony2使用filemtime()针对其注册表检查这些时间时,它会确定缓存不再是新的,并重新构建整个缓存。我还不能弄清楚它为什么要这么做。

票数 15
EN

Stack Overflow用户

发布于 2013-07-29 08:54:45

默认情况下,我收到来自Symfony2的5-30秒的响应。现在在开发环境中大约是500ms的

然后,我在php.ini中修改了以下内容

  • set realpath_cache_size = 4M (或完全more)
  • disabled Apache )(使用phpinfo)
  • realpath_cache_ttl=7200
  • enabled进行测试并设置Apache的OPcache (或APC),以便让php.ini重新加载

瞧,在dev模式下,响应时间不到2秒!希望能有所帮助。

之前: 6779毫秒

后: 1587毫秒

Symfony2从数以千计的文件中读取类,这是一个缓慢的过程。当使用较小的PHP realpath缓存时,如果文件路径不在PHP的realpath缓存中,则每次在开发环境中发出新请求时,都需要逐个解析文件路径。对于Symfony2,realpath缓存默认情况下太小。在prod中,这当然不是问题。

缓存元数据:

缓存元数据(例如映射)对于进一步提高性能也非常重要:

代码语言:javascript
运行
复制
doctrine:
    orm:
        entity_managers:
            default:
                metadata_cache_driver: apc
                query_cache_driver: apc
                result_cache_driver: apc

您需要为此启用APCu。它是没有字节码缓存的APC,因为OPCache已经在做操作码缓存了。OPCache是从PHP5.5开始内置的。

-之后的 467 ms

(在prod环境中,相同的响应约为80 ms)

请注意,这是一个使用30+包的项目,有数以万计的代码,几乎上百个自己的服务,所以0.5s在本地Windows环境中使用几个简单的优化就相当好了。

票数 127
EN

Stack Overflow用户

发布于 2013-03-12 22:54:57

我还需要禁用xdebug (v2.2.21)来调试我的macbook上的apache2最大超时加载。它是使用macports安装的:

代码语言:javascript
运行
复制
sudo port install php54-xdebug.

在启用xdebug的情况下,每个页面都会耗尽最大加载时间,并且会出现致命错误,超过了调度的最大超时消息。禁用后,在合理的预期时间内,一切都可以正常加载。我使用的是MAMP,默认情况下没有启用xdebug,apache2的运行速度和往常一样快。我可能会换成另一个调试器,这很糟糕,因为xdebug以前工作得很好。

配置:

  • MacOSX 10.6.8
  • macports 2.1.3
  • Apache 2.2.24
  • php 5.4

<代码>F211

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12905404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档