Capítulo 18. Rendimiento

Si una aplicación está pensada para ser utilizada por muchos usuarios, su optimización y su rendimiento son factores muy importantes a tener en cuenta durante su desarrollo. Como es lógico, el rendimiento siempre ha sido una de las máximas preocupaciones de los creadores de Symfony.

Aunque la gran ventaja de reducir el tiempo de desarrollo de una aplicación gracias a Symfony conlleva una disminución de su rendimiento, los programadores de Symfony siempre han tenido presente los requerimientos de rendimiento habituales. De esta forma, se ha analizado cada clase y cada método para que sean lo más rápidos posible.

La penalización mínima en el rendimiento de la aplicación (que se puede medir mostrando simplemente un mensaje tipo "Hola Mundo" con y sin Symfony) es muy reducida. Por tanto, el framework es escalable y responde correctamente a las pruebas de carga, también llamadas pruebas de stress. La prueba definitiva de su buen rendimiento es que algunos sitios con muchísimo tráfico (varios millones de usuarios y muchas interacciones Ajax) utilizan Symfony y están muy satisfechos con su rendimiento. La lista de sitios web desarrollados con Symfony se puede obtener en el wiki del proyecto: http://trac.symfony-project.org/wiki/ApplicationsDevelopedWithSymfony.

Evidentemente, los sitios web con millones de usuarios tienen los recursos necesarios para crear granjas de servidores y para mejorar el hardware de los servidores. No obstante, si no se dispone de este tipo de recursos, existen unos pequeños trucos que se pueden seguir para mejorar el rendimiento de las aplicaciones Symfony. En este capítulo se muestran algunas de las optimizaciones recomendadas para mejorar el rendimiento en todos los niveles del framework, aunque la mayoría están pensadas para usuarios avanzados. Aunque alguna técnica ya se ha comentado en otros capítulos anteriores, siempre es conveniente reunir todas las técnicas en un único lugar.