Learning To Fly: How AngryBirds Reached the Heights ofStore Performance
Learning To Fly:                         How Angry Birds                         ReachedInsert photo of speaker           ...
It’s a boy!                              Janine                                       that’s meSan Francisco, CA          ...
AOE media, a Magento Gold Partner and leading provider forOpen Source-based Portal development, Web ContentManagement and ...
Part II                        Part IMagento Imagine 2012     Meet Magento 2012   Meet Magento 2011
Lessons Learned                       ...from running aoriginal title of    High Performancethis presentation!            ...
Plush toys, shirts, ...PC games (download)
Social Media                           Impact> 24.000.000 likes > 500.000 followers
1.000.000unique visitors. per day.
concurrent users.
Orders.per second.           5           Yes, per second!               6                   7                          8  ...
shop.angrybirds.comCloudFront             S3                                             Route 53                  CloudFr...
shop.angrybirds.com                                            Route 53                                             DNS-Se...
Downtime Number of lost carts Number oflost sessions and logins
Stores…and GeoIPredirection!
Themes
TrimmingGrowing                           the fat!          Aoe_CacheCleaner          Aoe_QuoteCleanerData                ...
more traffic, more stores,more products,                     Protecting more urls,…                                 Magent...
VarnishTweakingCache Hitrate90%
VarnishTweakingCache Hitrate80%
VarnishTweakingCache Hitrate98.6%
Browser                                             Varnish                                           Magento             ...
… hitting Magento                                        ReduceNumber of RequestsDo ajax requests instead of full page loa...
Aoe_AsyncCache        Aoe_VarnishAsyncCache                           Updates            MagentoCache ina Cache          V...
Bottleneck Database
Database                   Tuning              “High-Memory                QuadrupleThis is not              Extra Large D...
Database               Splitting  RDS       RDS(MySQL)   (MySQL)                Cache Backend                             ...
Redis                          Sessions  RDS          Redis(MySQL)                 FPC                  Cache Backend
BottleneckFile I/O
localcommunity                                            lib                                                   Less file ...
SolutionFile I/OMagento           Aoe_ClassPathCacheCompiler           …also check           Magento 2!
Don’t try this at home!                      on productionReportGenerationRead Replica         Delta Pre-       Background...
Processingcron.shcron.php                                  Crons                 will block other crons                   ...
Code QualityModules      Don’t let them                        Uh-Oh!      bring you down!
Code QualityModules                                        SecurityNot enterprise   Not production   Not cloud       Bad  ...
Everything sounds better           Continuous   with “continuous”    Quality Assurance Questioneverything!                ...
Broken                 Testcases        Nobody pays attention            to test resultsMenta                             ...
Lesson LearnedPlan extra time! Number of unexpected  problems               Number of              components
What’s next?   Less bigger instances      MySQL?            vs.              MongoDB?    more smaller ones?+ php-fpm+ PHP ...
Thank you,      Team!You’re awesome!
Thank you!Any questions?          fabrizio.branca@aoemedia.com                http://www.aoemedia.com            http://ww...
Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance
Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance
Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance
Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance
Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance
Upcoming SlideShare
Loading in...5
×

Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance

15,480

Published on

Published in: Technology
1 Comment
14 Likes
Statistics
Notes
  • thanks for sharing fabrizio, beautiful presentation!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
15,480
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
50
Comments
1
Likes
14
Embeds 0
No embeds

No notes for slide

Transcript of "Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance"

  1. 1. Learning To Fly: How AngryBirds Reached the Heights ofStore Performance
  2. 2. Learning To Fly: How Angry Birds ReachedInsert photo of speaker the here Heights of Store 688 pixels w 891 pixels h x Performance Fabrizio BrancaLead Magento Developer
  3. 3. It’s a boy! Janine that’s meSan Francisco, CA Fiona
  4. 4. AOE media, a Magento Gold Partner and leading provider forOpen Source-based Portal development, Web ContentManagement and e-Commerce with its headquarters in SanFrancisco, California and Wiesbaden, Germany and more than120 people in seven offices world-wide.
  5. 5. Part II Part IMagento Imagine 2012 Meet Magento 2012 Meet Magento 2011
  6. 6. Lessons Learned ...from running aoriginal title of High Performancethis presentation! Magento Store
  7. 7. Plush toys, shirts, ...PC games (download)
  8. 8. Social Media Impact> 24.000.000 likes > 500.000 followers
  9. 9. 1.000.000unique visitors. per day.
  10. 10. concurrent users.
  11. 11. Orders.per second. 5 Yes, per second! 6 7 8 9 10
  12. 12. shop.angrybirds.comCloudFront S3 Route 53 CloudFrontCDN for Assets Assets Storage DNS-Service CDN for Skin ELB Load Balancer Monitoring Logging EC2 EC2 Varnish Array EC2 Backend Array EC2 EC2 Frontend Array EC2 Worker Array DRM Mail S3 Cache RDS Deployment MySQL Giftcards Braintree
  13. 13. shop.angrybirds.com Route 53 DNS-Service ELB ELB Load Balancer Load Balancer Deployment x Deployment x+1 Varnish Array EC2 EC2 V Release YFrontend Array EC2 Worker Array EC2 Backend Array EC2 EC2 Fro Deployment
  14. 14. Downtime Number of lost carts Number oflost sessions and logins
  15. 15. Stores…and GeoIPredirection!
  16. 16. Themes
  17. 17. TrimmingGrowing the fat! Aoe_CacheCleaner Aoe_QuoteCleanerData Orders Promotions cms / banners
  18. 18. more traffic, more stores,more products, Protecting more urls,… Magento Varnish Magento Reverse Proxy less requests hitting Magento!
  19. 19. VarnishTweakingCache Hitrate90%
  20. 20. VarnishTweakingCache Hitrate80%
  21. 21. VarnishTweakingCache Hitrate98.6%
  22. 22. Browser Varnish Magento Request a page (HTTP Request) RequestAoe_Static Delivering static content deliver static page Placeholders for dynamic parts. Cache-Control headers Render the page 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
  23. 23. … hitting Magento ReduceNumber of RequestsDo ajax requests instead of full page loads!»Add to basket»Displaying the mini cartDon’t do ajax requests! Use cookies or»Login status and username»(Number of) cart items localStorage»Geo locationCache 404 pages and redirects!Normalize urls!
  24. 24. Aoe_AsyncCache Aoe_VarnishAsyncCache Updates MagentoCache ina Cache Varnish
  25. 25. Bottleneck Database
  26. 26. Database Tuning “High-Memory QuadrupleThis is not Extra Large DBan iPhone! Instance” db.m2.4xlarge Provisioned IOPS Storage Percona Toolkit
  27. 27. Database Splitting RDS RDS(MySQL) (MySQL) Cache Backend Aoe_DbCache
  28. 28. Redis Sessions RDS Redis(MySQL) FPC Cache Backend
  29. 29. BottleneckFile I/O
  30. 30. localcommunity lib Less file operations core Number of *.php files by location
  31. 31. SolutionFile I/OMagento Aoe_ClassPathCacheCompiler …also check Magento 2!
  32. 32. Don’t try this at home! on productionReportGenerationRead Replica Delta Pre- Background processing Process
  33. 33. Processingcron.shcron.php Crons will block other crons performance issues, race conditions! Aoe_SchedulerAoe_Scheduler with multiple cron groups SCHEDULER_WHITELIST=a,b,c’ cron.sh cron2.php SCHEDULER_BLACKLIST=a,b,c cron.sh
  34. 34. Code QualityModules Don’t let them Uh-Oh! bring you down!
  35. 35. Code QualityModules SecurityNot enterprise Not production Not cloud Bad ready ready ready performance
  36. 36. Everything sounds better Continuous with “continuous” Quality Assurance Questioneverything! Aoe_Profiler Code Reviews Profiling, Automate stress tests Part of the dev process!
  37. 37. Broken Testcases Nobody pays attention to test resultsMenta Switch to Selenium 2
  38. 38. Lesson LearnedPlan extra time! Number of unexpected problems Number of components
  39. 39. What’s next? Less bigger instances MySQL? vs. MongoDB? more smaller ones?+ php-fpm+ PHP 5.4Web server EC2 instance Move quotes Cache Backend sizes
  40. 40. Thank you, Team!You’re awesome!
  41. 41. Thank you!Any questions? fabrizio.branca@aoemedia.com http://www.aoemedia.com http://www.fabrizio-branca.deMy blog @fbrnc Follow me on twitter!

×