magento imagine 2013: fabrizio branca - learning to fly: how angry birds reached the heights of...
TRANSCRIPT
![Page 1: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/1.jpg)
![Page 2: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/2.jpg)
Learning To Fly: How Angry
Birds Reached the Heights of
Store Performance
![Page 3: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/3.jpg)
Insert photo of speaker
here
891 pixels h x 688 pixels w
Learning To Fly:
How Angry Birds
Reached the
Heights of Store
Performance
Lead Magento Developer
Fabrizio Branca
![Page 4: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/4.jpg)
San Francisco, CA
Janine
Fiona
that’s me
It’s a boy!
![Page 5: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/5.jpg)
AOE media, a Magento Gold Partner and leading provider for
Open Source-based Portal development, Web Content
Management and e-Commerce with its headquarters in San
Francisco, California and Wiesbaden, Germany and more than
120 people in seven offices world-wide.
![Page 6: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/6.jpg)
Magento Imagine 2012 Meet Magento 2012 Meet Magento 2011
Part II Part I
![Page 7: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/7.jpg)
![Page 8: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/8.jpg)
Lessons Learned ...from running a
High Performance Magento Store
original title of this presentation!
![Page 9: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/9.jpg)
![Page 10: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/10.jpg)
PC games (download)
Plush toys, shirts, ...
![Page 11: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/11.jpg)
> 24.000.000 likes > 500.000 followers
Social Media Impact
![Page 12: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/12.jpg)
1.000.000 unique visitors. per day.
![Page 13: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/13.jpg)
concurrent users.
![Page 14: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/14.jpg)
Orders.
10
5 6 7
8
9
per second. Yes, per second!
![Page 15: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/15.jpg)
![Page 16: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/16.jpg)
S3 Assets Storage
Varnish Array EC2
Frontend Array
CloudFront CDN for Skin
RDS MySQL
S3 Deployment
Cache
ELB Load Balancer
CloudFront CDN for Assets
Monitoring
Backend Array EC2 EC2
EC2
Worker Array EC2
Braintree
Mail DRM
Giftcards
Logging
EC2
Route 53 DNS-Service
shop.angrybirds.com
![Page 17: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/17.jpg)
Varnish Array
Frontend Array Worker Array EC2
Deployment x
ELB Load Balancer
Varnish ArrayEC2
Frontend ArrayBackend Array EC2 EC2
EC2
EC2
Deployment x+1 Release Y
ELB Load Balancer
Route 53 DNS-Service
shop.angrybirds.com
Deployment
![Page 18: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/18.jpg)
Downtime
Number of lost carts
Number of lost sessions and logins
![Page 19: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/19.jpg)
![Page 20: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/20.jpg)
Stores …and GeoIP redirection!
![Page 21: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/21.jpg)
Themes
![Page 22: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/22.jpg)
Growing Data
Trimming the fat!
Orders
Promotions
cms / banners
Aoe_CacheCleaner
Aoe_QuoteCleaner
![Page 23: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/23.jpg)
Varnish Reverse Proxy
Magento
Protecting Magento
more traffic, more stores,
more products, more urls,…
less requests hitting Magento!
![Page 24: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/24.jpg)
90%
Varnish Tweaking
Cache Hitrate
![Page 25: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/25.jpg)
80%
Varnish Tweaking
Cache Hitrate
![Page 26: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/26.jpg)
98.6%
Varnish Tweaking
Cache Hitrate
![Page 27: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/27.jpg)
Request a page (HTTP Request)
deliver static page
Request
Delivering static content
Placeholders for dynamic parts.
Cache-Control headers
Ajax call request dynamic parts
and transfers the id of the currently visited product
JSON response with dynamic content
Replace placeholder
Write session id to cookie
Render the page
Browser Varnish Magento
Aoe_Static
![Page 28: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/28.jpg)
Reduce Number of Requests Do ajax requests instead of full page loads! »Add to basket
»Displaying the mini cart
Don’t do ajax requests! »Login status and username
»(Number of) cart items
»Geo location
Cache 404 pages and redirects!
Normalize urls!
… hitting Magento
Use cookies or localStorage
![Page 29: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/29.jpg)
Cache in a Cache
Magento
Varnish
Aoe_AsyncCache Aoe_VarnishAsyncCache
Updates
![Page 30: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/30.jpg)
Bottleneck Database
![Page 31: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/31.jpg)
Database Tuning
db.m2.4xlarge
Provisioned IOPS Storage
Percona Toolkit
This is not an iPhone!
“High-Memory Quadruple
Extra Large DB Instance”
![Page 32: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/32.jpg)
RDS
(MySQL)
RDS
(MySQL)
Cache Backend
Aoe_DbCache
Database Splitting
![Page 33: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/33.jpg)
Sessions
FPC RDS
(MySQL) Redis
Cache Backend
Redis
![Page 34: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/34.jpg)
Bottleneck File I/O
![Page 35: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/35.jpg)
0
lib
community
core
local
Number of *.php files by location
Less file operations
![Page 36: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/36.jpg)
Aoe_ClassPathCache Magento
Compiler
Solution File I/O
…also check Magento 2!
![Page 37: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/37.jpg)
Report Generation
Don’t try this at home! on production
Read Replica Background
Process
Delta Pre-
processing
![Page 38: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/38.jpg)
Processing Crons
cron.sh
cron.php
Aoe_Scheduler with multiple cron groups
will block other crons
performance issues, race conditions!
SCHEDULER_WHITELIST='a,b,c’
cron.sh cron2.php
SCHEDULER_BLACKLIST='a,b,c'
cron.sh
Aoe_Scheduler
![Page 39: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/39.jpg)
Code Quality Modules
Don’t let them bring you down!
Uh-Oh!
![Page 40: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/40.jpg)
Code Quality Modules
Not enterprise
ready
Not production
ready
Not cloud
ready
Bad
performance
Security
![Page 41: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/41.jpg)
Continuous Quality Assurance
Code Reviews Profiling,
stress tests Automate
Aoe_Profiler
Everything sounds better with “continuous”
Question everything!
Part of the dev process!
![Page 42: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/42.jpg)
Broken Testcases
Switch to Selenium 2
Nobody pays attention to test results
Menta
![Page 43: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/43.jpg)
Lesson Learned Plan extra time!
Number of unexpected problems
Number of components
![Page 44: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/44.jpg)
What’s next?
Move quotes Cache Backend
+ php-fpm
+ PHP 5.4
Web server EC2 instance
sizes
MySQL? MongoDB?
Less bigger instances vs.
more smaller ones?
![Page 45: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/45.jpg)
Thank you, Team! You’re awesome!
![Page 46: Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance](https://reader033.vdocuments.us/reader033/viewer/2022060116/557d68a5d8b42a7c638b4738/html5/thumbnails/46.jpg)
Thank you! Any questions?
http://www.aoemedia.com
http://www.fabrizio-branca.de
@fbrnc Follow me on twitter!
My blog