La aplicación Symfony2 analiza YML en cada solicitud

Mi aplicación Symfony2 tiene algunos problemas de rendimiento, así que ejecuté un webgrind para ver qué estaba sucediendo. Resulta que estaba analizando grandes cantidades de archivos YML en cada solicitud y no puedo entender por qué. Ya tengo habilitado el almacenamiento en caché de APC, así que no sé qué podría ser. Cualquier ayuda con este tema sería muy apreciada.

Editar: Aquí hay una captura de pantalla del webgrind que ejecuté. http://i.imgur.com/m7g6l.jpg

De mi investigación, parece que APCClassLoader no hace que Symfony2 guarde en caché los archivos YAML usados ​​en Doctrine. Parece almacenar en caché los archivos de configuración de forma predeterminada (config.yml, parameters.yml), pero los archivos ORAM YAML actuales utilizados por Doctrine no se almacenan en caché a menos que especifique un controlador de caché como se muestra en la documentación vinculada a continuación:

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

Por lo tanto, es posible que la solución anterior resolviera el problema si el póster solo tenía la configuración YAML y no la doctrine YAML. Sin embargo, si Doctrine YAML está involucrado, se debe especificar un controlador de caché de Doctrine.

Esto también afecta a las personas que usan Anotaciones, ya que se analizarán en cada carga de página a menos que se especifique un controlador de caché (que no sea la caché de matriz predeterminada de Doctrine).

Pensé que debería publicar porque este es un tema complejo y la respuesta anterior fue engañosa en mi caso, donde los archivos Doctrine ORM YAML fueron la fuente del problema del almacenamiento en caché.

Esta publicación contiene más detalles sobre mi problema específico y la resolución:

¿Por qué la aplicación Symfony2 pasa el 70-90% de su tiempo analizando YAML?

Descubierto lo que estaba pasando. Tenía APC habilitado y en funcionamiento, pero no estaba usando ApcUniversalClassLoader en mi autocarga.php. Más detalles aquí . Cuando dicen en los documentos “sugerencias” para un rendimiento mejorado, realmente quieren decir “tienes que hacer esto o tu actuación será terrible”.