php – Symfony2应用程序在每个请求中解析YML
发布时间:2020-12-13 16:45:36 所属栏目:PHP教程 来源:网络整理
导读:我的Symfony2应用程序存在一些性能问题,因此我在其上运行了一个webgrind以查看发生了什么.原来它是在每个请求上解析大量的YML文件,我无法弄清楚原因.我已经启用了APC缓存,所以我不知道它可能是什么.任何有关此问题的帮助将不胜感激. 编辑:这是我运行的webgr
我的Symfony2应用程序存在一些性能问题,因此我在其上运行了一个webgrind以查看发生了什么.原来它是在每个请求上解析大量的YML文件,我无法弄清楚原因.我已经启用了APC缓存,所以我不知道它可能是什么.任何有关此问题的帮助将不胜感激.
编辑:这是我运行的webgrind的屏幕截图. 解决方法
根据我的研究,似乎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缓存驱动程序. 这也会影响使用Annotations的人,因为除非指定了缓存驱动程序(Doctrine默认数组缓存除外),否则将在每个页面加载时解析它们. 以为我应该发帖,因为这是一个复杂的问题,上面的答案在我的情况下误导了Doctrine ORM YAML文件是缓存问题的根源. 这篇文章详细介绍了我的具体问题和解决方案: Why is Symfony2 app spending 70-90% of its time parsing YAML? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |