Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x

Founder à Bevvy
17 Oct 2013
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x
1 sur 84

Contenu connexe

Tendances

Decoupling Edutopia.orgDecoupling Edutopia.org
Decoupling Edutopia.orgdsayswhat
Web Performance First AidWeb Performance First Aid
Web Performance First AidAlan Seiden
Imagesandvideo tallinnImagesandvideo tallinn
Imagesandvideo tallinnDoug Sillars
Html5 Fit:  Get Rid of Love HandlesHtml5 Fit:  Get Rid of Love Handles
Html5 Fit: Get Rid of Love HandlesChris Love
Shopzilla - Performance By DesignShopzilla - Performance By Design
Shopzilla - Performance By DesignTim Morrow
Evolving ArchetectureEvolving Archetecture
Evolving Archetectureleo lapworth

Similaire à Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x

performance.pptperformance.ppt
performance.pptfakeaccount225095
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuningJohn McCaffrey
PAC 2019 virtual Mark TomlinsonPAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark TomlinsonNeotys
11 Amazing things I Learnt At Word Camp Sydney 201411 Amazing things I Learnt At Word Camp Sydney 2014
11 Amazing things I Learnt At Word Camp Sydney 2014WordPressBrisbane
Static Site Generators - Developing Websites in Low-resource ConditionStatic Site Generators - Developing Websites in Low-resource Condition
Static Site Generators - Developing Websites in Low-resource ConditionIWMW
Web Components at Scale, HTML5DevConf 2014-10-21Web Components at Scale, HTML5DevConf 2014-10-21
Web Components at Scale, HTML5DevConf 2014-10-21Chris Danford

Dernier

The Ultimate Administrator’s Guide to HCL Nomad WebThe Ultimate Administrator’s Guide to HCL Nomad Web
The Ultimate Administrator’s Guide to HCL Nomad Webpanagenda
Mitigating Third-Party Risks: Best Practices for CISOs in Ensuring Robust Sec...Mitigating Third-Party Risks: Best Practices for CISOs in Ensuring Robust Sec...
Mitigating Third-Party Risks: Best Practices for CISOs in Ensuring Robust Sec...TrustArc
h2 meet pdf test.pdfh2 meet pdf test.pdf
h2 meet pdf test.pdfJohnLee971654
Announcing InfluxDB ClusteredAnnouncing InfluxDB Clustered
Announcing InfluxDB ClusteredInfluxData
Webinar: Discover the Power of SpiraTeam - A Jira Alternative To Revolutioniz...Webinar: Discover the Power of SpiraTeam - A Jira Alternative To Revolutioniz...
Webinar: Discover the Power of SpiraTeam - A Jira Alternative To Revolutioniz...Inflectra
Supplier Sourcing_Cathy.pptxSupplier Sourcing_Cathy.pptx
Supplier Sourcing_Cathy.pptxCatarinaTorrenuevaMa

Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Websites by up to 5x

Notes de l'éditeur

  1. Hello, and welcome.Today, we’re really excited to share with you some of the successes we’ve had at Intuit around performance.
  2. This is our story: We spent a year, optimizing the top 50 pages (by traffic) from 6 of our marketing web sites, and hit pageload speeds as fast as 2 seconds in some cases.There’s a lot we’ll be covering in a short amount of time, so we might talk a little fast. We’ll have time for questions at the end, or stop by our office hours immediately following this presentation.
  3. This is what our web site looked like back in the day.The first version came online in mid 90s. This screenshot is from 1999.As you can see, it’s quite basic compared to what we’re used to today.
  4. Any of you remember this phone?I’m probably dating myself, but I had one of these bad boys back then and thought it was the coolest thing ever.
  5. It was built on dated technology.And it was built before web standards.
  6. Over the years, lots of “stuff” was added or changed.Single site grew and became many sites.All on same codebase.
  7. Codebase big and bloated.LOTS of stuff going on.Everything plugged into everything else.Tough to maintain.
  8. Image credit: Jesse Hernandez http://www.pbase.com/image/2564925
  9. Image source: http://www.flickr.com/photos/proimos/4199675334/sizes/o/in/photostream/
  10. Something had to be done.Engineering presented a case… People just didn’t get it. Nobody understood value.Everyone too busy and no time.
  11. A frustrated engineer, in his own time, beganquietly doing performance optimizations.
  12. It successfully showed improved metrics as a result of a faster loading page.
  13. What? Higher conversions? Higher SEO rankings? Morepageviews?I get it now!
  14. Everyone familiar with this quote?Steve first coined it back in 2006 or 2007. Still holds true today.
  15. Apples to apples.So what do I mean?Get everyone on common ground.Lots of chatter about performance – a lot sounded the same - but not everyone was saying the same thing.Numbers cited from different tools (which had wide variances).Server response times unintentionally mixed with frontend render times.We just needed to get everyone comparing apples to apples.
  16. We start with the usual suspects.
  17. The usual suspects are the original rules of high performance from Steve Souder’s first book on high performing web sites.These are general rules, in order of priority, that applies to the majority of sites out there.We added a few bonus items of our own.We won’t have time to go over everything, but we’ll cover a number of our biggest wins (and mistakes).
  18. So, we started out by merging and minifying our CSS and JS files.The codebase was not very clean, and had all of “this stuff” going on with it.Extremely difficult to combine everything together and still have the site working properly.
  19. … we kind of went at this blindly and jumped in headfirst and started to combine files left and right.Knowing what we know now, we may have spent an initial period getting our files into shape for merging and minifying.
  20. Pretty simple here.A good thing, right? Well, let’s take a look.
  21. Describe problem. Then how solved:In our case, design was flexible, they modified the design to remove the alpha-transparency.Saved over 250k. Let’s think about that number for a second – 250k. That’s a lot of overhead, for a single image!
  22. That’s over a quarter of a megabyte on one image alone.
  23. 3rd sprite on right uses alpha transparency which causes the entire image to be saved as 24-bit when sprited together.But this 3rd sprite is only used for users that do not have Flash installed – this is < 1% of Internet users!This 3rd image was incorrectly sprited with the other images.Between this image and the last image, we saved 400k – close to half a meg of payload size.The funny thing here is, it actually gets worse. 
  24. (image displays): I’m just going to pause here for a moment, to let you take in the full glory of this image - and let the absurdity sink in.(click for bullets)
  25. Only thing I can say about this, is it’s 5 megs of wrong.
  26. These examples just goes to show how we took something good likespriting images and reducing http requests – and executed wrong, even hurting our performance in the process.Anyways, we fixed all of this and moved on.
  27. I’ll circle back to this shortly, but before I do, I want to talk about something we call “the angry cookie monster”.
  28. Common for marketers to request pixels to be added when new campaigns began.Very rare to request pixels be removed once a campaign has finished.
  29. After 6 months of work, we managed to get all 50 pages into that ~6s rangeBut it wasn’t enough. The company had tasted the forbidden fruit, and wanted more.Kept coming up:How can we go faster?Perhaps car images should be moved to next slide.Perhaps we don’t mention 2 seconds here, but just “can we go faster?” and we can talk about how we got rationale for 2s
  30. Thank you Jay! Hello everyone, thank you for stopping by!My name is Norberth Danson and I’m a full stack engineer currently working on front end and performance at Intuit. !  I will take this opportunity to come out clean and confess that I do not have a Twitter account. ! Now that I’ve got that off my chest, let’s get straight to business.As Jay mentioned, it took us roughly six months of optimization effort to bring the top 50 URLs down to approximately 6 seconds.And then two things happened.At first, good times rolled in. We were rock stars. It was pretty awesome to be part of the performance team.
  31. As I mentioned before, there were 3 video players, with various levels of inefficiency.Let’s look at one of them.In theory, a video player is supposed to play video.In practice, especially these days, when everyone wants analytics around every corner, most video players come with an Entourage.Allow me to introduce the cast members:SWF file (actual player) takes 6-8s on avg to downloadLoad of external calls for tracking, beacons, and 3rd party elements (23 requests, 9 domains, 7 swf files) – even the NSA would have trouble keeping track of everything that’s going on!!!Poster frame still image displayed on page load takes >3s on avg to loadPage BLOCKS until poster frame image loaded; rest of page elements have to wait before downloadingEntourages are expensive and this example is not different – the parent page has to pay the price for loading this video player.
  32. To recap – not all video players are created equal – make sure that the one you are using is not accompanied by a vast entourage.When a video player does 19 redirects before playing its first byte of video, it’s time to look for alternatives.And that’s exactly what we did – we replaced the 3 video players with one player from a different vendor. If replacing the vendor is not an option, you may look into lazy loading the video player. If you have to pay the price, pay the price after the browser’s onload event fires.
  33. Launched a new platform, pageload of landing page went from 3-4s to 9-12sConversions took a hit.After improving pages back to 5-6s, conversions improved by 14%In this case, conversion == # of new activations
  34. In the summer during our year of optimization, we launched a new technology platform that the shopping cart was on.This version of the platform had forked before our phase 1 optimizations had launched, and performance immediately suffered.At launch, we had some irregular tracking that was over-counting our shopping cart completions, and we fixed that a month in.From then on, this section in red showed severely degraded performance, and we saw a reduced number of people completing their checkout flow.
  35. When we finally fixed this and was able to re-optimize the shopping cart, we see the number of people completing their checkout improving significantly.Performance was the only thing changed on the cart.
  36. Finally, we’d like to leave you with our humble opinion.Unfortunately, it’s a samplesize of 2.