SlideShare una empresa de Scribd logo
1 de 46
Descargar para leer sin conexión
Learning To Fly: How Angry
Birds Reached the Heights of
Store Performance
Learning To Fly:
                         How Angry Birds
                         ReachedInsert photo of speaker
                                  the
                                 here
                         Heights of Store 688 pixels w
                                 891 pixels h x
                         Performance
                         Fabrizio Branca
Lead Magento Developer
It’s a boy!
                              Janine




                                       that’s me



San Francisco, CA




                Fiona
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.
Part II                        Part I


Magento Imagine 2012     Meet Magento 2012   Meet Magento 2011
Lessons Learned
                       ...from running a
original title of    High Performance
this presentation!
                          Magento Store
Plush toys, shirts, ...




PC games (download)
Social Media
                           Impact


> 24.000.000 likes > 500.000 followers
1.000.000
unique visitors. per day.
concurrent users.
Orders.per second.
           5           Yes, per second!
               6
                   7
                          8

                               9

                                10
shop.angrybirds.com




CloudFront             S3                                             Route 53                  CloudFront
CDN 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
shop.angrybirds.com




                                            Route 53
                                             DNS-Service

       ELB                                                                                        ELB
   Load Balancer                                                                            Load Balancer


                         Deployment x                           Deployment x+1
 Varnish Array                                                                              EC2    EC2       V
                                                                Release Y



Frontend Array     EC2     Worker Array                         EC2         Backend Array   EC2    EC2      Fro




                                    Deployment
Downtime




 Number of
 lost carts



 Number of
lost sessions
 and logins
Stores
…and GeoIP
redirection!
Themes
Trimming

Growing                           the fat!
          Aoe_CacheCleaner


          Aoe_QuoteCleaner



Data

                         Orders
                         Promotions
                         cms / banners
more traffic,
 more stores,
more products,
                     Protecting
 more urls,…
                                 Magento
                 Varnish                        Magento
                 Reverse Proxy



                                    less requests
                                 hitting Magento!
Varnish
Tweaking
Cache Hitrate




90%
Varnish
Tweaking
Cache Hitrate




80%
Varnish
Tweaking
Cache Hitrate




98.6%
Browser                                             Varnish                                           Magento


              Request a page (HTTP Request)
                                                                             Request


Aoe_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
… hitting Magento
                                        Reduce
Number of Requests
Do ajax requests instead of full page loads!
»Add to basket
»Displaying the mini cart

Don’t do ajax requests!             Use cookies or
»Login status and username
»(Number of) cart items
                                     localStorage
»Geo location

Cache 404 pages and redirects!
Normalize urls!
Aoe_AsyncCache        Aoe_VarnishAsyncCache




                           Updates



            Magento


Cache in
a Cache          Varnish
Bottleneck
 Database
Database
                   Tuning
              “High-Memory
                Quadruple
This is not
              Extra Large DB
an iPhone!
                 Instance”
                             db.m2.4xlarge
                  Provisioned IOPS Storage
                            Percona Toolkit
Database
               Splitting
  RDS       RDS
(MySQL)   (MySQL)




                Cache Backend

                                Aoe_DbCache
Redis
                          Sessions

  RDS
          Redis
(MySQL)                 FPC


                  Cache Backend
Bottleneck
File I/O
local
community

                                            lib
                                                   Less file
                                                  operations




 core


        Number of *.php files by location
Solution
File I/O
Magento
           Aoe_ClassPathCache
Compiler
           …also check
           Magento 2!
Don’t try this at home!
                      on production

Report
Generation

Read Replica         Delta Pre-       Background
                    processing         Process
Processing
cron.sh




cron.php
                                  Crons
                 will block other crons


                                performance issues,
                                  race conditions!
                                                        Aoe_Scheduler

Aoe_Scheduler with multiple cron groups
                                                      SCHEDULER_WHITELIST='a,b,c’
                                                      cron.sh cron2.php



                                                      SCHEDULER_BLACKLIST='a,b,c'
                                                      cron.sh
Code Quality
Modules
      Don’t let them
                        Uh-Oh!

      bring you down!
Code Quality
Modules                                        Security




Not enterprise   Not production   Not cloud       Bad
    ready             ready        ready      performance
Everything sounds better

           Continuous
   with “continuous”



    Quality Assurance
 Question
everything!



                                      Aoe_Profiler


    Code Reviews            Profiling,                Automate
                           stress tests        Part of the dev process!
Broken
                 Testcases
        Nobody pays attention
            to test results
Menta
                                 Switch to
                                Selenium 2
Lesson Learned
Plan extra time!
 Number of
 unexpected
  problems


               Number of
              components
What’s next?
   Less bigger instances      MySQL?
            vs.              MongoDB?
    more smaller ones?



+ php-fpm
+ PHP 5.4

Web server    EC2 instance   Move quotes   Cache Backend
                 sizes
Thank you,
      Team!
You’re awesome!
Thank you!
Any questions?
          fabrizio.branca@aoemedia.com
                http://www.aoemedia.com
            http://www.fabrizio-branca.de
My blog                           @fbrnc
              Follow me on twitter!

Más contenido relacionado

La actualidad más candente

Container Networking Deep Dive with Amazon ECS - CON401 - re:Invent 2017
Container Networking Deep Dive with Amazon ECS - CON401 - re:Invent 2017Container Networking Deep Dive with Amazon ECS - CON401 - re:Invent 2017
Container Networking Deep Dive with Amazon ECS - CON401 - re:Invent 2017Amazon Web Services
 
Advanced Task Scheduling with Amazon ECS (June 2017)
Advanced Task Scheduling with Amazon ECS (June 2017)Advanced Task Scheduling with Amazon ECS (June 2017)
Advanced Task Scheduling with Amazon ECS (June 2017)Julien SIMON
 
[AWS Dev Day] 이머징 테크 | Libra 소스코드분석 및 AWS에서 블록체인 기반 지불 시스템 최적화 방법 - 박혜영 AWS 솔...
[AWS Dev Day] 이머징 테크 | Libra 소스코드분석 및 AWS에서 블록체인 기반 지불 시스템 최적화 방법 - 박혜영 AWS 솔...[AWS Dev Day] 이머징 테크 | Libra 소스코드분석 및 AWS에서 블록체인 기반 지불 시스템 최적화 방법 - 박혜영 AWS 솔...
[AWS Dev Day] 이머징 테크 | Libra 소스코드분석 및 AWS에서 블록체인 기반 지불 시스템 최적화 방법 - 박혜영 AWS 솔...Amazon Web Services Korea
 
Building a CICD Pipeline for Container Deployment to Amazon ECS - May 2017 AW...
Building a CICD Pipeline for Container Deployment to Amazon ECS - May 2017 AW...Building a CICD Pipeline for Container Deployment to Amazon ECS - May 2017 AW...
Building a CICD Pipeline for Container Deployment to Amazon ECS - May 2017 AW...Amazon Web Services
 
Deep Dive on Amazon EC2 Instances (March 2017)
Deep Dive on Amazon EC2 Instances (March 2017)Deep Dive on Amazon EC2 Instances (March 2017)
Deep Dive on Amazon EC2 Instances (March 2017)Julien SIMON
 
(CMP405) Containerizing Video: The Next Gen Video Transcoding Pipeline
(CMP405) Containerizing Video: The Next Gen Video Transcoding Pipeline(CMP405) Containerizing Video: The Next Gen Video Transcoding Pipeline
(CMP405) Containerizing Video: The Next Gen Video Transcoding PipelineAmazon Web Services
 
How to run your startup on Amazon Web Services, by Alex Iskold
How to run your startup on Amazon Web Services, by Alex IskoldHow to run your startup on Amazon Web Services, by Alex Iskold
How to run your startup on Amazon Web Services, by Alex IskoldAlex Iskold
 
AWS Webcast - Best Practices for Content Delivery using Amazon CloudFront
AWS Webcast - Best Practices for Content Delivery using Amazon CloudFrontAWS Webcast - Best Practices for Content Delivery using Amazon CloudFront
AWS Webcast - Best Practices for Content Delivery using Amazon CloudFrontAmazon Web Services
 
Building Open Source Platforms on AWS (April 2017)
Building Open Source Platforms on AWS (April 2017)Building Open Source Platforms on AWS (April 2017)
Building Open Source Platforms on AWS (April 2017)Julien SIMON
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSDanilo Poccia
 
AWS Webcast - Design for Availability
AWS Webcast - Design for AvailabilityAWS Webcast - Design for Availability
AWS Webcast - Design for AvailabilityAmazon Web Services
 
Deploy, Scale and Manage your Application with AWS Elastic Beanstalk
Deploy, Scale and Manage your Application with AWS Elastic BeanstalkDeploy, Scale and Manage your Application with AWS Elastic Beanstalk
Deploy, Scale and Manage your Application with AWS Elastic BeanstalkAmazon Web Services
 
Advanced Task Scheduling with Amazon ECS
Advanced Task Scheduling with Amazon ECSAdvanced Task Scheduling with Amazon ECS
Advanced Task Scheduling with Amazon ECSJulien SIMON
 
(APP402) Serving Billions of Web Requests Each Day with Elastic Beanstalk | A...
(APP402) Serving Billions of Web Requests Each Day with Elastic Beanstalk | A...(APP402) Serving Billions of Web Requests Each Day with Elastic Beanstalk | A...
(APP402) Serving Billions of Web Requests Each Day with Elastic Beanstalk | A...Amazon Web Services
 
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...Amazon Web Services
 
Deep Dive into Container Scheduling with Amazon ECS - CON404 - re:Invent 2017
Deep Dive into Container Scheduling with Amazon ECS - CON404 - re:Invent 2017Deep Dive into Container Scheduling with Amazon ECS - CON404 - re:Invent 2017
Deep Dive into Container Scheduling with Amazon ECS - CON404 - re:Invent 2017Amazon Web Services
 
ENT307 VMware and AWS Together - VMware Cloud on AWS
ENT307 VMware and AWS Together - VMware Cloud on AWSENT307 VMware and AWS Together - VMware Cloud on AWS
ENT307 VMware and AWS Together - VMware Cloud on AWSAmazon Web Services
 
Moving to Amazon ECS – the Not-So-Obvious Benefits - CON356 - re:Invent 2017
Moving to Amazon ECS – the Not-So-Obvious Benefits - CON356 - re:Invent 2017Moving to Amazon ECS – the Not-So-Obvious Benefits - CON356 - re:Invent 2017
Moving to Amazon ECS – the Not-So-Obvious Benefits - CON356 - re:Invent 2017Amazon Web Services
 

La actualidad más candente (20)

Container Networking Deep Dive with Amazon ECS - CON401 - re:Invent 2017
Container Networking Deep Dive with Amazon ECS - CON401 - re:Invent 2017Container Networking Deep Dive with Amazon ECS - CON401 - re:Invent 2017
Container Networking Deep Dive with Amazon ECS - CON401 - re:Invent 2017
 
Advanced Task Scheduling with Amazon ECS (June 2017)
Advanced Task Scheduling with Amazon ECS (June 2017)Advanced Task Scheduling with Amazon ECS (June 2017)
Advanced Task Scheduling with Amazon ECS (June 2017)
 
[AWS Dev Day] 이머징 테크 | Libra 소스코드분석 및 AWS에서 블록체인 기반 지불 시스템 최적화 방법 - 박혜영 AWS 솔...
[AWS Dev Day] 이머징 테크 | Libra 소스코드분석 및 AWS에서 블록체인 기반 지불 시스템 최적화 방법 - 박혜영 AWS 솔...[AWS Dev Day] 이머징 테크 | Libra 소스코드분석 및 AWS에서 블록체인 기반 지불 시스템 최적화 방법 - 박혜영 AWS 솔...
[AWS Dev Day] 이머징 테크 | Libra 소스코드분석 및 AWS에서 블록체인 기반 지불 시스템 최적화 방법 - 박혜영 AWS 솔...
 
Move to azure
Move to azureMove to azure
Move to azure
 
Building a CICD Pipeline for Container Deployment to Amazon ECS - May 2017 AW...
Building a CICD Pipeline for Container Deployment to Amazon ECS - May 2017 AW...Building a CICD Pipeline for Container Deployment to Amazon ECS - May 2017 AW...
Building a CICD Pipeline for Container Deployment to Amazon ECS - May 2017 AW...
 
Deep Dive on Amazon EC2 Instances (March 2017)
Deep Dive on Amazon EC2 Instances (March 2017)Deep Dive on Amazon EC2 Instances (March 2017)
Deep Dive on Amazon EC2 Instances (March 2017)
 
(CMP405) Containerizing Video: The Next Gen Video Transcoding Pipeline
(CMP405) Containerizing Video: The Next Gen Video Transcoding Pipeline(CMP405) Containerizing Video: The Next Gen Video Transcoding Pipeline
(CMP405) Containerizing Video: The Next Gen Video Transcoding Pipeline
 
How to run your startup on Amazon Web Services, by Alex Iskold
How to run your startup on Amazon Web Services, by Alex IskoldHow to run your startup on Amazon Web Services, by Alex Iskold
How to run your startup on Amazon Web Services, by Alex Iskold
 
AWS Webcast - Best Practices for Content Delivery using Amazon CloudFront
AWS Webcast - Best Practices for Content Delivery using Amazon CloudFrontAWS Webcast - Best Practices for Content Delivery using Amazon CloudFront
AWS Webcast - Best Practices for Content Delivery using Amazon CloudFront
 
Building Open Source Platforms on AWS (April 2017)
Building Open Source Platforms on AWS (April 2017)Building Open Source Platforms on AWS (April 2017)
Building Open Source Platforms on AWS (April 2017)
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
 
AWS Webcast - Design for Availability
AWS Webcast - Design for AvailabilityAWS Webcast - Design for Availability
AWS Webcast - Design for Availability
 
Deploy, Scale and Manage your Application with AWS Elastic Beanstalk
Deploy, Scale and Manage your Application with AWS Elastic BeanstalkDeploy, Scale and Manage your Application with AWS Elastic Beanstalk
Deploy, Scale and Manage your Application with AWS Elastic Beanstalk
 
Advanced Task Scheduling with Amazon ECS
Advanced Task Scheduling with Amazon ECSAdvanced Task Scheduling with Amazon ECS
Advanced Task Scheduling with Amazon ECS
 
(APP402) Serving Billions of Web Requests Each Day with Elastic Beanstalk | A...
(APP402) Serving Billions of Web Requests Each Day with Elastic Beanstalk | A...(APP402) Serving Billions of Web Requests Each Day with Elastic Beanstalk | A...
(APP402) Serving Billions of Web Requests Each Day with Elastic Beanstalk | A...
 
New AWS Services
New AWS ServicesNew AWS Services
New AWS Services
 
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
 
Deep Dive into Container Scheduling with Amazon ECS - CON404 - re:Invent 2017
Deep Dive into Container Scheduling with Amazon ECS - CON404 - re:Invent 2017Deep Dive into Container Scheduling with Amazon ECS - CON404 - re:Invent 2017
Deep Dive into Container Scheduling with Amazon ECS - CON404 - re:Invent 2017
 
ENT307 VMware and AWS Together - VMware Cloud on AWS
ENT307 VMware and AWS Together - VMware Cloud on AWSENT307 VMware and AWS Together - VMware Cloud on AWS
ENT307 VMware and AWS Together - VMware Cloud on AWS
 
Moving to Amazon ECS – the Not-So-Obvious Benefits - CON356 - re:Invent 2017
Moving to Amazon ECS – the Not-So-Obvious Benefits - CON356 - re:Invent 2017Moving to Amazon ECS – the Not-So-Obvious Benefits - CON356 - re:Invent 2017
Moving to Amazon ECS – the Not-So-Obvious Benefits - CON356 - re:Invent 2017
 

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

Best Practices for Hosting Web Applications on AWS
Best Practices for Hosting Web Applications on AWSBest Practices for Hosting Web Applications on AWS
Best Practices for Hosting Web Applications on AWSAmazon Web Services
 
Building High-availability Websites on AWS
Building High-availability Websites on AWSBuilding High-availability Websites on AWS
Building High-availability Websites on AWSAmazon Web Services
 
High-Availability Websites and Web Applications with AWS
High-Availability Websites and Web Applications with AWSHigh-Availability Websites and Web Applications with AWS
High-Availability Websites and Web Applications with AWSAmazon Web Services
 
Games + Amazon = Love - Presentation quo vadis 2011
Games + Amazon = Love - Presentation quo vadis 2011Games + Amazon = Love - Presentation quo vadis 2011
Games + Amazon = Love - Presentation quo vadis 2011Thomas Lobinger
 
Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reac...
Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reac...Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reac...
Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reac...AOE
 
Learning to Fly: How Angry Birds Reached the Heights of Store Performance |…
Learning to Fly: How Angry Birds Reached the Heights of Store Performance |…Learning to Fly: How Angry Birds Reached the Heights of Store Performance |…
Learning to Fly: How Angry Birds Reached the Heights of Store Performance |…Atwix
 
AWS RDS Presentation - DOAG Conference
AWS RDS Presentation - DOAG Conference AWS RDS Presentation - DOAG Conference
AWS RDS Presentation - DOAG Conference Amazon Web Services
 
ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012
ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012
ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012Amazon Web Services
 
Take the spaghetti out of windows azure – an insight for it pro techies part 1
Take the spaghetti out of windows azure – an insight for it pro techies part 1Take the spaghetti out of windows azure – an insight for it pro techies part 1
Take the spaghetti out of windows azure – an insight for it pro techies part 1Microsoft TechNet - Belgium and Luxembourg
 
C fowler intro-azure
C fowler intro-azureC fowler intro-azure
C fowler intro-azuresdeconf
 
MetaCDN: Enabling High Performance, Low Cost Content Storage and Delivery via...
MetaCDN: Enabling High Performance, Low Cost Content Storage and Delivery via...MetaCDN: Enabling High Performance, Low Cost Content Storage and Delivery via...
MetaCDN: Enabling High Performance, Low Cost Content Storage and Delivery via...James Broberg
 
Preparing your IT infrastructure for thanksgiving
Preparing your IT infrastructure for thanksgivingPreparing your IT infrastructure for thanksgiving
Preparing your IT infrastructure for thanksgiving8KMiles Software Services
 
Ram chinta hug-20120922-v1
Ram chinta hug-20120922-v1Ram chinta hug-20120922-v1
Ram chinta hug-20120922-v1Ram Chinta
 
Prepare your IT Infrastructure for Thanksgiving
Prepare your IT Infrastructure for ThanksgivingPrepare your IT Infrastructure for Thanksgiving
Prepare your IT Infrastructure for ThanksgivingHarish Ganesan
 
Cloud Storage Transformation – Keynote - AWS Cloud Storage for the Enterprise...
Cloud Storage Transformation – Keynote - AWS Cloud Storage for the Enterprise...Cloud Storage Transformation – Keynote - AWS Cloud Storage for the Enterprise...
Cloud Storage Transformation – Keynote - AWS Cloud Storage for the Enterprise...Amazon Web Services
 
Web前端性能分析工具导引
Web前端性能分析工具导引Web前端性能分析工具导引
Web前端性能分析工具导引冰 郭
 
Scalable Resilient Web Services In .Net
Scalable Resilient Web Services In .NetScalable Resilient Web Services In .Net
Scalable Resilient Web Services In .NetBala Subra
 
Cloud computing with AWS
Cloud computing with AWS Cloud computing with AWS
Cloud computing with AWS ikanow
 

Similar a Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reached the Heights of Store Performance (20)

Best Practices for Hosting Web Applications on AWS
Best Practices for Hosting Web Applications on AWSBest Practices for Hosting Web Applications on AWS
Best Practices for Hosting Web Applications on AWS
 
Building High-availability Websites on AWS
Building High-availability Websites on AWSBuilding High-availability Websites on AWS
Building High-availability Websites on AWS
 
High-Availability Websites and Web Applications with AWS
High-Availability Websites and Web Applications with AWSHigh-Availability Websites and Web Applications with AWS
High-Availability Websites and Web Applications with AWS
 
Websites on AWS
Websites on AWSWebsites on AWS
Websites on AWS
 
Games + Amazon = Love - Presentation quo vadis 2011
Games + Amazon = Love - Presentation quo vadis 2011Games + Amazon = Love - Presentation quo vadis 2011
Games + Amazon = Love - Presentation quo vadis 2011
 
Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reac...
Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reac...Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reac...
Magento Imagine 2013: Fabrizio Branca - Learning To Fly: How Angry Birds Reac...
 
Learning to Fly: How Angry Birds Reached the Heights of Store Performance |…
Learning to Fly: How Angry Birds Reached the Heights of Store Performance |…Learning to Fly: How Angry Birds Reached the Heights of Store Performance |…
Learning to Fly: How Angry Birds Reached the Heights of Store Performance |…
 
AWS RDS Presentation - DOAG Conference
AWS RDS Presentation - DOAG Conference AWS RDS Presentation - DOAG Conference
AWS RDS Presentation - DOAG Conference
 
ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012
ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012
ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012
 
Take the spaghetti out of windows azure – an insight for it pro techies part 1
Take the spaghetti out of windows azure – an insight for it pro techies part 1Take the spaghetti out of windows azure – an insight for it pro techies part 1
Take the spaghetti out of windows azure – an insight for it pro techies part 1
 
C fowler intro-azure
C fowler intro-azureC fowler intro-azure
C fowler intro-azure
 
MetaCDN: Enabling High Performance, Low Cost Content Storage and Delivery via...
MetaCDN: Enabling High Performance, Low Cost Content Storage and Delivery via...MetaCDN: Enabling High Performance, Low Cost Content Storage and Delivery via...
MetaCDN: Enabling High Performance, Low Cost Content Storage and Delivery via...
 
Preparing your IT infrastructure for thanksgiving
Preparing your IT infrastructure for thanksgivingPreparing your IT infrastructure for thanksgiving
Preparing your IT infrastructure for thanksgiving
 
Ram chinta hug-20120922-v1
Ram chinta hug-20120922-v1Ram chinta hug-20120922-v1
Ram chinta hug-20120922-v1
 
Prepare your IT Infrastructure for Thanksgiving
Prepare your IT Infrastructure for ThanksgivingPrepare your IT Infrastructure for Thanksgiving
Prepare your IT Infrastructure for Thanksgiving
 
Cloud Storage Transformation – Keynote - AWS Cloud Storage for the Enterprise...
Cloud Storage Transformation – Keynote - AWS Cloud Storage for the Enterprise...Cloud Storage Transformation – Keynote - AWS Cloud Storage for the Enterprise...
Cloud Storage Transformation – Keynote - AWS Cloud Storage for the Enterprise...
 
Web前端性能分析工具导引
Web前端性能分析工具导引Web前端性能分析工具导引
Web前端性能分析工具导引
 
Scalable Resilient Web Services In .Net
Scalable Resilient Web Services In .NetScalable Resilient Web Services In .Net
Scalable Resilient Web Services In .Net
 
Cloud computing with AWS
Cloud computing with AWS Cloud computing with AWS
Cloud computing with AWS
 
4K Media Workflows on AWS
4K Media Workflows on AWS4K Media Workflows on AWS
4K Media Workflows on AWS
 

Más de AOE

Multithreaded XML Import (San Francisco Magento Meetup)
Multithreaded XML Import (San Francisco Magento Meetup)Multithreaded XML Import (San Francisco Magento Meetup)
Multithreaded XML Import (San Francisco Magento Meetup)AOE
 
rock-solid TYPO3 development with continuous integration and deployment
rock-solid TYPO3 development with continuous integration and deploymentrock-solid TYPO3 development with continuous integration and deployment
rock-solid TYPO3 development with continuous integration and deploymentAOE
 
Agile Management - Best Practice Day der Deutschen Bahn am 17.10.2013
Agile Management - Best Practice Day der Deutschen Bahn am 17.10.2013Agile Management - Best Practice Day der Deutschen Bahn am 17.10.2013
Agile Management - Best Practice Day der Deutschen Bahn am 17.10.2013AOE
 
Continuous Quality Assurance using Selenium WebDriver
Continuous Quality Assurance using Selenium WebDriverContinuous Quality Assurance using Selenium WebDriver
Continuous Quality Assurance using Selenium WebDriverAOE
 
SONY on TYPO3 - Rapid Global CMS Deployment
SONY on TYPO3 - Rapid Global CMS DeploymentSONY on TYPO3 - Rapid Global CMS Deployment
SONY on TYPO3 - Rapid Global CMS DeploymentAOE
 
The typo3.org Relaunch Project
The typo3.org Relaunch ProjectThe typo3.org Relaunch Project
The typo3.org Relaunch ProjectAOE
 
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling  am Beispiel von AngrybirdCloud Deployment und (Auto)Scaling  am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdAOE
 
Searchperience Indexierungspipeline
Searchperience   IndexierungspipelineSearchperience   Indexierungspipeline
Searchperience IndexierungspipelineAOE
 
High Performance Multi-Server Magento in der Cloud
High Performance Multi-Server Magento in der CloudHigh Performance Multi-Server Magento in der Cloud
High Performance Multi-Server Magento in der CloudAOE
 
Selenium 2 for PHP(Unit)
Selenium 2 for PHP(Unit)Selenium 2 for PHP(Unit)
Selenium 2 for PHP(Unit)AOE
 
T3DD12 Caching with Varnish
T3DD12 Caching with VarnishT3DD12 Caching with Varnish
T3DD12 Caching with VarnishAOE
 
T3DD12 community extension
T3DD12  community extensionT3DD12  community extension
T3DD12 community extensionAOE
 
Performance measurement and tuning
Performance measurement and tuningPerformance measurement and tuning
Performance measurement and tuningAOE
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven DesignAOE
 
Debugging, Monitoring and Profiling in TYPO3
Debugging, Monitoring and Profiling in TYPO3Debugging, Monitoring and Profiling in TYPO3
Debugging, Monitoring and Profiling in TYPO3AOE
 
Panasonic search
Panasonic searchPanasonic search
Panasonic searchAOE
 
Performance durch Caching
Performance durch CachingPerformance durch Caching
Performance durch CachingAOE
 
Performance durch Caching
Performance durch CachingPerformance durch Caching
Performance durch CachingAOE
 
Open Source CMS TYPO3 at Cisco WebEx
Open Source CMS TYPO3 at Cisco WebExOpen Source CMS TYPO3 at Cisco WebEx
Open Source CMS TYPO3 at Cisco WebExAOE
 
Case Study NDD Distribution on TYPO3
Case Study NDD Distribution on TYPO3Case Study NDD Distribution on TYPO3
Case Study NDD Distribution on TYPO3AOE
 

Más de AOE (20)

Multithreaded XML Import (San Francisco Magento Meetup)
Multithreaded XML Import (San Francisco Magento Meetup)Multithreaded XML Import (San Francisco Magento Meetup)
Multithreaded XML Import (San Francisco Magento Meetup)
 
rock-solid TYPO3 development with continuous integration and deployment
rock-solid TYPO3 development with continuous integration and deploymentrock-solid TYPO3 development with continuous integration and deployment
rock-solid TYPO3 development with continuous integration and deployment
 
Agile Management - Best Practice Day der Deutschen Bahn am 17.10.2013
Agile Management - Best Practice Day der Deutschen Bahn am 17.10.2013Agile Management - Best Practice Day der Deutschen Bahn am 17.10.2013
Agile Management - Best Practice Day der Deutschen Bahn am 17.10.2013
 
Continuous Quality Assurance using Selenium WebDriver
Continuous Quality Assurance using Selenium WebDriverContinuous Quality Assurance using Selenium WebDriver
Continuous Quality Assurance using Selenium WebDriver
 
SONY on TYPO3 - Rapid Global CMS Deployment
SONY on TYPO3 - Rapid Global CMS DeploymentSONY on TYPO3 - Rapid Global CMS Deployment
SONY on TYPO3 - Rapid Global CMS Deployment
 
The typo3.org Relaunch Project
The typo3.org Relaunch ProjectThe typo3.org Relaunch Project
The typo3.org Relaunch Project
 
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling  am Beispiel von AngrybirdCloud Deployment und (Auto)Scaling  am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
 
Searchperience Indexierungspipeline
Searchperience   IndexierungspipelineSearchperience   Indexierungspipeline
Searchperience Indexierungspipeline
 
High Performance Multi-Server Magento in der Cloud
High Performance Multi-Server Magento in der CloudHigh Performance Multi-Server Magento in der Cloud
High Performance Multi-Server Magento in der Cloud
 
Selenium 2 for PHP(Unit)
Selenium 2 for PHP(Unit)Selenium 2 for PHP(Unit)
Selenium 2 for PHP(Unit)
 
T3DD12 Caching with Varnish
T3DD12 Caching with VarnishT3DD12 Caching with Varnish
T3DD12 Caching with Varnish
 
T3DD12 community extension
T3DD12  community extensionT3DD12  community extension
T3DD12 community extension
 
Performance measurement and tuning
Performance measurement and tuningPerformance measurement and tuning
Performance measurement and tuning
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
Debugging, Monitoring and Profiling in TYPO3
Debugging, Monitoring and Profiling in TYPO3Debugging, Monitoring and Profiling in TYPO3
Debugging, Monitoring and Profiling in TYPO3
 
Panasonic search
Panasonic searchPanasonic search
Panasonic search
 
Performance durch Caching
Performance durch CachingPerformance durch Caching
Performance durch Caching
 
Performance durch Caching
Performance durch CachingPerformance durch Caching
Performance durch Caching
 
Open Source CMS TYPO3 at Cisco WebEx
Open Source CMS TYPO3 at Cisco WebExOpen Source CMS TYPO3 at Cisco WebEx
Open Source CMS TYPO3 at Cisco WebEx
 
Case Study NDD Distribution on TYPO3
Case Study NDD Distribution on TYPO3Case Study NDD Distribution on TYPO3
Case Study NDD Distribution on TYPO3
 

Último

Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 

Último (20)

Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 

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

  • 1.
  • 2. Learning To Fly: How Angry Birds Reached the Heights of Store Performance
  • 3. Learning To Fly: How Angry Birds ReachedInsert photo of speaker the here Heights of Store 688 pixels w 891 pixels h x Performance Fabrizio Branca Lead Magento Developer
  • 4. It’s a boy! Janine that’s me San Francisco, CA Fiona
  • 5. 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.
  • 6. Part II Part I Magento Imagine 2012 Meet Magento 2012 Meet Magento 2011
  • 7.
  • 8. Lessons Learned ...from running a original title of High Performance this presentation! Magento Store
  • 9.
  • 10. Plush toys, shirts, ... PC games (download)
  • 11. Social Media Impact > 24.000.000 likes > 500.000 followers
  • 14. Orders.per second. 5 Yes, per second! 6 7 8 9 10
  • 15.
  • 16. shop.angrybirds.com CloudFront S3 Route 53 CloudFront CDN 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
  • 17. shop.angrybirds.com Route 53 DNS-Service ELB ELB Load Balancer Load Balancer Deployment x Deployment x+1 Varnish Array EC2 EC2 V Release Y Frontend Array EC2 Worker Array EC2 Backend Array EC2 EC2 Fro Deployment
  • 18. Downtime Number of lost carts Number of lost sessions and logins
  • 19.
  • 22. Trimming Growing the fat! Aoe_CacheCleaner Aoe_QuoteCleaner Data Orders Promotions cms / banners
  • 23. more traffic, more stores, more products, Protecting more urls,… Magento Varnish Magento Reverse Proxy less requests hitting Magento!
  • 27. Browser Varnish Magento Request a page (HTTP Request) Request Aoe_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
  • 28. … hitting Magento Reduce Number of Requests Do ajax requests instead of full page loads! »Add to basket »Displaying the mini cart Don’t do ajax requests! Use cookies or »Login status and username »(Number of) cart items localStorage »Geo location Cache 404 pages and redirects! Normalize urls!
  • 29. Aoe_AsyncCache Aoe_VarnishAsyncCache Updates Magento Cache in a Cache Varnish
  • 31. Database Tuning “High-Memory Quadruple This is not Extra Large DB an iPhone! Instance” db.m2.4xlarge Provisioned IOPS Storage Percona Toolkit
  • 32. Database Splitting RDS RDS (MySQL) (MySQL) Cache Backend Aoe_DbCache
  • 33. Redis Sessions RDS Redis (MySQL) FPC Cache Backend
  • 35. local community lib Less file operations core Number of *.php files by location
  • 36. Solution File I/O Magento Aoe_ClassPathCache Compiler …also check Magento 2!
  • 37. Don’t try this at home! on production Report Generation Read Replica Delta Pre- Background processing Process
  • 38. Processing cron.sh cron.php Crons will block other crons performance issues, race conditions! Aoe_Scheduler Aoe_Scheduler with multiple cron groups SCHEDULER_WHITELIST='a,b,c’ cron.sh cron2.php SCHEDULER_BLACKLIST='a,b,c' cron.sh
  • 39. Code Quality Modules Don’t let them Uh-Oh! bring you down!
  • 40. Code Quality Modules Security Not enterprise Not production Not cloud Bad ready ready ready performance
  • 41. Everything sounds better Continuous with “continuous” Quality Assurance Question everything! Aoe_Profiler Code Reviews Profiling, Automate stress tests Part of the dev process!
  • 42. Broken Testcases Nobody pays attention to test results Menta Switch to Selenium 2
  • 43. Lesson Learned Plan extra time! Number of unexpected problems Number of components
  • 44. What’s next? Less bigger instances MySQL? vs. MongoDB? more smaller ones? + php-fpm + PHP 5.4 Web server EC2 instance Move quotes Cache Backend sizes
  • 45. Thank you, Team! You’re awesome!
  • 46. Thank you! Any questions? fabrizio.branca@aoemedia.com http://www.aoemedia.com http://www.fabrizio-branca.de My blog @fbrnc Follow me on twitter!