SlideShare a Scribd company logo
Symfony2
The world slowest framework

venerdì 18 ottobre 13
What’s a framework?

[...] a software framework is an abstraction in which
software providing generic functionality can be
selectively changed by additional user-written code,
thus providing application-specific software.
http://en.wikipedia.org/wiki/Software_framework

venerdì 18 ottobre 13
Framework
VS
Library

Inversion of Control

venerdì 18 ottobre 13
Framework

Value
AND
Technical debt

venerdì 18 ottobre 13
Speed

venerdì 18 ottobre 13
Procedural VS OO Code

venerdì 18 ottobre 13
Procedural VS OO Code

venerdì 18 ottobre 13
Optimization

venerdì 18 ottobre 13
Server VS Dev Costs

venerdì 18 ottobre 13
Freedom to change

venerdì 18 ottobre 13
What do you need?

venerdì 18 ottobre 13
What do you like?

venerdì 18 ottobre 13
Knowledge

venerdì 18 ottobre 13
Community

venerdì 18 ottobre 13
Symfony: beware of

Steep learning curve
venerdì 18 ottobre 13
Symfony: beware of

from great power
comes great responsability
venerdì 18 ottobre 13
Why I choose Symfony

Community

venerdì 18 ottobre 13
Why I choose Symfony

Adhere to standards

venerdì 18 ottobre 13
Why I choose Symfony

Frameworks are developers tools

venerdì 18 ottobre 13
Why I choose Symfony
No need for the full package
[thanks composer!]

venerdì 18 ottobre 13
Why I choose Symfony
Based on HTTP
[request/response, caching, reverse proxy, esi]

venerdì 18 ottobre 13
To Production

php app/check.php

venerdì 18 ottobre 13
To Production

AppCache.php is your friend

venerdì 18 ottobre 13
To Production
Doctrine
query_cache_driver
metadata_cache_driver
result_cache_driver

APC - Memcache - XCache - Redis

venerdì 18 ottobre 13
To Production
Profiler
No, thanks.
Always add ‘--env=prod’ to command

venerdì 18 ottobre 13
To Production
Logging
Only errors, thanks.

Monolog ‘buer_size’ parameter

venerdì 18 ottobre 13
To Production
Apache routes
php app/console router:dump-apache -e=prod --no-debug

venerdì 18 ottobre 13
To Production
Assetic
php app/console assetic:dump --env=prod --no-debug

venerdì 18 ottobre 13
To Production
Composer
php composer.phar install --optimize-autoloader

venerdì 18 ottobre 13
To Production
PHP < 5.5 => APC
PHP >= 5.5 => OPCache

venerdì 18 ottobre 13
My Conclusion
1. Choose on your needs
2. Readability matters
3. Premature optimization is the route of all evil

venerdì 18 ottobre 13
Thanks
Filippo De Santis
@filippodesantis
fd@ideato.it

venerdì 18 ottobre 13
Refs
http://slides.seld.be/?file=2011-10-20+High+Performance+Websites+with+Symfony2.html#1
http://www.gregfreeman.org/2013/your-php-framework-choice-doesnt-matter/
https://igor.io/2013/09/02/how-heavy-is-silex.html
http://stackoverflow.com/questions/16696763/why-is-symfony2-performing-so-bad-in-benchmarks-and-does-it-matter
http://symfony2-checklist.com/
http://slides.liip.ch/static/2012-05-18_symfony-speed.html#1
http://www.slideshare.net/liuggio/rationally-boost-your-symfony2-application-with-caching-tips-and-monitoring
http://www.nigeldunn.com/2011/11/24/my-last-thoughts-on-symfony2/
http://docs.doctrine-project.org/en/latest/reference/caching.html
http://symfony.com/doc/current/index.html
http://www.emanueleminotto.it/im-afraid-symfony-2-performances
http://www.slideshare.net/liuggio/rationally-boost-your-symfony2-application-with-caching-tips-and-monitoring

venerdì 18 ottobre 13
PICS
http://www.flickr.com/photos/stankuns/8738770989
http://www.davehakkens.nl/
http://www.flickr.com/photos/takahiro/359406450
http://www.flickr.com/photos/mayhem/2939259129
http://www.flickr.com/photos/pfv/2739621207/
http://www.flickr.com/photos/kitty-kat/6049220331
http://www.flickr.com/photos/mtwashington/5062599268
http://www.flickr.com/photos/harlequeen/6371193319
http://www.flickr.com/photos/28990363@N05/6414310131

venerdì 18 ottobre 13

More Related Content

PPTX
Symfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari Oluşturma
PDF
Yük altındaki sistemlerde asenkron hayat
PPTX
BÜYÜK Portalleri nasıl ReFactor ettik
PDF
İlişkisel Veritabanları, ORM ve Doctrine
PPTX
Symfony2 & doctrine
PPTX
Bulutlar Üzerinde..
PDF
REST yoluyla Web Servis Geliştirme
PDF
PHPUnit ve Laravel
Symfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari Oluşturma
Yük altındaki sistemlerde asenkron hayat
BÜYÜK Portalleri nasıl ReFactor ettik
İlişkisel Veritabanları, ORM ve Doctrine
Symfony2 & doctrine
Bulutlar Üzerinde..
REST yoluyla Web Servis Geliştirme
PHPUnit ve Laravel

Similar to Symfony2: the world slowest framework (20)

PPSX
Alan tacchinelli
PDF
Italy vmug 2019 PowerCLI pret-a-porter
PDF
Streaming in Java e Flex con Red5
PDF
Buildout
PDF
zc.buildout: "Un modo estremamente civile per sviluppare un'applicazione"
PPTX
Meego Italian Day 2011 - Francesco Baldassarri (1)
PPT
4. Introduzione al web (Parte I)
PDF
App Engine + Python
PDF
Aliprandi - Copyleft e open licensing in ambito software - 15-03-12
PDF
Symfony (1/3) | Train to Symfony
PPTX
Xamarin: Shared Library and Portable Class Library - Aristide Di Francesco - ...
PDF
Bk001 it c18-step_by_step
PDF
Costruisci la tua piattaforma open-source di video-sharing in Python
PPTX
7. Applicazioni Web e CMS
PPT
Lezione 6: Il Web come piattaforma
PDF
MODULO 25 –> Fondamenti delle tecnologie per il web
PDF
Di cosa parlano?
PPT
Siti web, portali e Rich Internet Applications: tendenze e controtendenze
ODP
Introduzione al Free Software: storia e prospettive
ODP
Si fa presto a dire "opensource"
Alan tacchinelli
Italy vmug 2019 PowerCLI pret-a-porter
Streaming in Java e Flex con Red5
Buildout
zc.buildout: "Un modo estremamente civile per sviluppare un'applicazione"
Meego Italian Day 2011 - Francesco Baldassarri (1)
4. Introduzione al web (Parte I)
App Engine + Python
Aliprandi - Copyleft e open licensing in ambito software - 15-03-12
Symfony (1/3) | Train to Symfony
Xamarin: Shared Library and Portable Class Library - Aristide Di Francesco - ...
Bk001 it c18-step_by_step
Costruisci la tua piattaforma open-source di video-sharing in Python
7. Applicazioni Web e CMS
Lezione 6: Il Web come piattaforma
MODULO 25 –> Fondamenti delle tecnologie per il web
Di cosa parlano?
Siti web, portali e Rich Internet Applications: tendenze e controtendenze
Introduzione al Free Software: storia e prospettive
Si fa presto a dire "opensource"

More from Filippo De Santis (6)

PDF
Design attern in php
KEY
Building a-self-sufficient-team
PDF
Xkanban V3: eXtreme Programming, Kanban and Timboxing
PDF
xkanban v2 (ALE Bathtub III)
PDF
Xkanban: XP, Kanban and timeboxing
PDF
Symfony2 per utenti Symfony 1.x: Architettura, modelli ed esempi
Design attern in php
Building a-self-sufficient-team
Xkanban V3: eXtreme Programming, Kanban and Timboxing
xkanban v2 (ALE Bathtub III)
Xkanban: XP, Kanban and timeboxing
Symfony2 per utenti Symfony 1.x: Architettura, modelli ed esempi

Symfony2: the world slowest framework