gpt4 book ai didi

php - Symfony2 应用程序在每次请求时解析 YML

转载 作者:可可西里 更新时间:2023-10-31 23:23:33 24 4
gpt4 key购买 nike

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

编辑:这是我运行的 webgrind 的屏幕截图。 http://i.imgur.com/m7g6l.jpg

最佳答案

根据我的研究,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?

关于php - Symfony2 应用程序在每次请求时解析 YML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10871939/

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