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

on

  • 2,286 views

Apr 11, 2013

Apr 11, 2013

Statistics

Views

Total Views
2,286
Views on SlideShare
2,286
Embed Views
0

Actions

Likes
1
Downloads
5
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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 Presentation Transcript

  • Learning To Fly: How AngryBirds Reached the Heights ofStore Performance
  • Insert photo of speakerhere891 pixels h x 688 pixels wLearning To Fly:How Angry BirdsReached theHeights of StorePerformanceLead Magento DeveloperFabrizio Branca
  • San Francisco, CAJanineFionathat’s meIt’s a boy!
  • 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.
  • MagentoImagine2012 MeetMagento2012 MeetMagento2011Part II Part I
  • Lessons Learned...from running aHigh PerformanceMagento Storeoriginal title ofthis presentation!
  • PCgames (download)Plushtoys, shirts, ...
  • >24.000.000 likes >500.000 followersSocial MediaImpact
  • 1.000.000unique visitors. per day.
  • concurrent users.
  • Orders.105 6789per second.Yes, per second!
  • S3Assets StorageVarnish ArrayEC2Frontend ArrayCloudFrontCDN for SkinRDSMySQLS3DeploymentCacheELBLoad BalancerCloudFrontCDN for AssetsMonitoringBackend ArrayEC2 EC2EC2Worker ArrayEC2BraintreeMailDRMGiftcardsLoggingEC2Route 53DNS-Serviceshop.angrybirds.com
  • Varnish ArrayFrontend Array Worker ArrayEC2Deployment xELBLoad BalancerVEC2FroBackend ArrayEC2 EC2EC2EC2Deployment x+1Release YELBLoad BalancerRoute 53DNS-Serviceshop.angrybirds.comDeployment
  • DowntimeNumber oflost cartsNumber oflost sessionsand logins
  • Stores…and GeoIPredirection!
  • Themes
  • GrowingDataTrimmingthe fat!OrdersPromotionscms / bannersAoe_CacheCleanerAoe_QuoteCleaner
  • VarnishReverse ProxyMagentoProtectingMagentomore traffic,more stores,more products,more urls,…less requestshitting Magento!
  • 90%VarnishTweakingCache Hitrate
  • 80%VarnishTweakingCache Hitrate
  • 98.6%VarnishTweakingCache Hitrate
  • Request a page (HTTP Request)deliver static pageRequestDelivering static contentPlaceholders for dynamic parts.Cache-Control headersAjax call request dynamic partsand transfers the id of the currently visited productJSON response with dynamic contentReplace placeholderWrite session id to cookieRender the pageBrowser Varnish MagentoAoe_Static
  • ReduceNumber of RequestsDo ajax requests instead of full page loads!»Add to basket»Displaying the mini cartDon’t do ajax requests!»Login status and username»(Number of) cart items»Geo locationCache 404 pages and redirects!Normalize urls!… hitting MagentoUse cookies orlocalStorage
  • Cache ina CacheMagentoVarnishAoe_AsyncCache Aoe_VarnishAsyncCacheUpdates
  • BottleneckDatabase
  • DatabaseTuningdb.m2.4xlargeProvisioned IOPS StoragePercona ToolkitThis is notan iPhone!“High-MemoryQuadrupleExtra Large DBInstance”
  • RDS(MySQL)RDS(MySQL)Cache BackendAoe_DbCacheDatabaseSplitting
  • SessionsFPCRDS(MySQL)RedisCache BackendRedis
  • BottleneckFile I/O
  • libcommunitycorelocalNumber of *.php files by locationLess fileoperations
  • Aoe_ClassPathCacheMagentoCompilerSolutionFile I/O…also checkMagento 2!
  • ReportGenerationDon’t try this at home!on productionRead Replica BackgroundProcessDelta Pre-processing
  • ProcessingCronscron.shcron.phpAoe_Scheduler with multiple cron groupswill block other cronsperformance issues,race conditions!SCHEDULER_WHITELIST=a,b,c’cron.sh cron2.phpSCHEDULER_BLACKLIST=a,b,ccron.shAoe_Scheduler
  • Code QualityModulesDon’t let thembring you down!Uh-Oh!
  • Code QualityModulesNot enterprisereadyNot productionreadyNot cloudreadyBadperformanceSecurity
  • ContinuousQuality AssuranceCode Reviews Profiling,stress testsAutomateAoe_ProfilerEverything sounds betterwith “continuous”Questioneverything!Part of the dev process!
  • BrokenTestcasesSwitch toSelenium 2Nobody pays attentionto test resultsMenta
  • Lesson LearnedPlan extra time!Number ofunexpectedproblemsNumber ofcomponents
  • What’s next?Move quotes Cache Backend+ php-fpm+ PHP 5.4Web server EC2 instancesizesMySQL?MongoDB?Less bigger instancesvs.more smaller ones?
  • Thank you,Team!You’re awesome!
  • Thank you!Any questions?fabrizio.branca@aoemedia.comhttp://www.aoemedia.comhttp://www.fabrizio-branca.de@fbrncFollow me on twitter!My blog