首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Symfony2应用程序对每个请求解析YML

Symfony2应用程序对每个请求解析YML
EN

Stack Overflow用户
提问于 2012-06-04 00:21:58
回答 2查看 1.4K关注 0票数 4

我的Symfony2应用程序有一些性能问题,所以我在它上面运行了一个webgrind,以便查看发生了什么。事实证明,它在每次请求时都要解析大量的YML文件,我不知道为什么。我已经启用了APC缓存,所以我不知道它会是什么。在这个问题上的任何帮助都将不胜感激。

编辑:这是我运行的webgrind的截图。

EN

回答 2

Stack Overflow用户

发布于 2014-08-02 01:25:13

根据我的研究,APCClassLoader似乎不会导致Symfony2缓存Doctrine中使用的YAML文件。默认情况下,它似乎会缓存配置文件(config.yml、parameters.yml),但Doctrine使用的实际ORM YAML文件不会缓存,除非您指定缓存驱动程序,如下面链接的文档中所示:

http://symfony.com/doc/2.3/reference/configuration/doctrine.html#caching-drivers

所以,如果海报只有配置YAML而没有原理YAML,上面的解决方案可能解决了这个问题。但是,如果涉及Doctrine YAML,则必须指定Doctrine缓存驱动程序。

这也会影响使用注释的人,因为除非指定了缓存驱动程序( Doctrine默认数组缓存除外),否则每次加载页面时都会解析注释。

我认为我应该发布,因为这是一个复杂的问题,上面的答案在我的案例中具有误导性,Doctrine ORM YAML文件是缓存问题的来源。

这篇文章有关于我的具体问题和解决方案的更多细节:

Why is Symfony2 app spending 70-90% of its time parsing YAML?

票数 2
EN

Stack Overflow用户

发布于 2012-06-04 06:27:23

弄清楚是怎么回事了。我启用了APC并正常工作,但没有在我的autoload.php中使用ApcUniversalClassLoader。更多细节here。当他们在文档中说提高性能的“建议”时,他们真正的意思是“你必须这样做,否则你的表现会很糟糕。”

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

https://stackoverflow.com/questions/10871939

复制
相关文章

相似问题

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