SlideShare a Scribd company logo
1 of 69
7 Ways to Improve Your Web
Application Performance (on a Budget)
Introduction
Goal #1
Actionable takeaway’s
Goal #2
No need to take notes
Goal #3




            Goal #3
          Finish early
Goal #3
Goal #3
Agenda

 Best practices
 Free tools/services
 3rd Parties
 The Cloud
 Making the most of your monitoring – Proactive
 Making the most of your monitoring – Reactive
 Social Media


 Bonus
#1
Best practices
Steve Souders
14 Rules
The Power of Less


  Combine
  Minimize
  Compress
  Cache
  Sprites
Combine
Minimize
Compress
Cache
CSS Sprites
Location, Location, Location


 CSS at the top
 JavaScript at the bottom
Inline = Bad
 Post-load
Cuzillion
#2
Free tools and
   services
Firebug
                        onLoad




          blocking




               DOMcontentLoaded
Firebug

          No blocking
Google Page Test
Google Page Test
Google Page Test
WebPageTest.org
WebPageTest.org
WebPageTest.org
just-ping.com
Smush.it




    Image on the front page
Smush.it




 Awesome!
#3
3 rd   Parties
CDN’s
CDN’s (pricing)
Google Hosted Libraries
DNS
Ecosystem Management
#4
The Cloud!
Unexpected Capacity
Offloaded capacity
Application based CDN
Lessons so far
#5
Make the most of your
       existing
monitoring(Proactivel
          y)
#6
Make the most of your
 existing monitoring
     (Reactively)
Insta-check globally
Waterfall graph globally
Add new monitors
Script Recorder
Alerting
#7
Social Media
Bonus Method




               Bonus
   Google Analytics +
    Event Tracking
Agent Dashboard




          Event 2   Event 1   Event 3
Code to time here
Sample Graphs
Links




Links to everything mentioned:

http://bit.ly/PerformanceLinks

Link to the presentation:

http://bit.ly/PerformancePresentation
Thank You!


    Questions?
    Thanks for your feedback!


                             Lenny Rachitsky
                            Senior Engineering Manager
                           Lenny.Rachitsky@neustar.biz



                                 Call Us: 877-524-8299

                        Email Us: WMOutsideMktg@NeuStar.biz
                          Learn More: www.webmetrics.com




http://bit.ly/PerformanceLinks
http://bit.ly/PerformancePresentation

More Related Content

More from Lenny Rachitsky

Your Mind Is In Your Pants - Mind 2.0
Your Mind Is In Your Pants - Mind 2.0Your Mind Is In Your Pants - Mind 2.0
Your Mind Is In Your Pants - Mind 2.0Lenny Rachitsky
 
Street fight west summit mind 2.0
Street fight west summit   mind 2.0Street fight west summit   mind 2.0
Street fight west summit mind 2.0Lenny Rachitsky
 
Mind 2.0: Your mind is #InYourPants
Mind 2.0: Your mind is #InYourPantsMind 2.0: Your mind is #InYourPants
Mind 2.0: Your mind is #InYourPantsLenny Rachitsky
 
TEDxConcordia - Losing Serendipity
TEDxConcordia - Losing SerendipityTEDxConcordia - Losing Serendipity
TEDxConcordia - Losing SerendipityLenny Rachitsky
 
Localmind pitch at NewTech Montreal
Localmind pitch at NewTech MontrealLocalmind pitch at NewTech Montreal
Localmind pitch at NewTech MontrealLenny Rachitsky
 
Losing Serendipity (Bitnorth 2010)
Losing Serendipity (Bitnorth 2010)Losing Serendipity (Bitnorth 2010)
Losing Serendipity (Bitnorth 2010)Lenny Rachitsky
 
Upside of Downtime Preparation Framework
Upside of Downtime Preparation FrameworkUpside of Downtime Preparation Framework
Upside of Downtime Preparation FrameworkLenny Rachitsky
 
The Upside of Downtime (Velocity 2010)
The Upside of Downtime (Velocity 2010)The Upside of Downtime (Velocity 2010)
The Upside of Downtime (Velocity 2010)Lenny Rachitsky
 
Google App Engine - Simple Introduction
Google App Engine - Simple IntroductionGoogle App Engine - Simple Introduction
Google App Engine - Simple IntroductionLenny Rachitsky
 
The Cloud - An introduction
The Cloud - An introductionThe Cloud - An introduction
The Cloud - An introductionLenny Rachitsky
 
The Power of Story, Part 1
The Power of Story, Part 1The Power of Story, Part 1
The Power of Story, Part 1Lenny Rachitsky
 
Getting Things Done - Intro
Getting Things Done - IntroGetting Things Done - Intro
Getting Things Done - IntroLenny Rachitsky
 
The White City - Chicago World Fair of 1893
The White City - Chicago World Fair of 1893The White City - Chicago World Fair of 1893
The White City - Chicago World Fair of 1893Lenny Rachitsky
 
Influence - Robert Cialdini
Influence - Robert CialdiniInfluence - Robert Cialdini
Influence - Robert CialdiniLenny Rachitsky
 

More from Lenny Rachitsky (18)

Your Mind Is In Your Pants - Mind 2.0
Your Mind Is In Your Pants - Mind 2.0Your Mind Is In Your Pants - Mind 2.0
Your Mind Is In Your Pants - Mind 2.0
 
Street fight west summit mind 2.0
Street fight west summit   mind 2.0Street fight west summit   mind 2.0
Street fight west summit mind 2.0
 
Filter Failure
Filter FailureFilter Failure
Filter Failure
 
Bitnorth 2011
Bitnorth   2011Bitnorth   2011
Bitnorth 2011
 
Mind 2.0: Your mind is #InYourPants
Mind 2.0: Your mind is #InYourPantsMind 2.0: Your mind is #InYourPants
Mind 2.0: Your mind is #InYourPants
 
TEDxConcordia - Losing Serendipity
TEDxConcordia - Losing SerendipityTEDxConcordia - Losing Serendipity
TEDxConcordia - Losing Serendipity
 
Localmind pitch at NewTech Montreal
Localmind pitch at NewTech MontrealLocalmind pitch at NewTech Montreal
Localmind pitch at NewTech Montreal
 
Losing Serendipity (Bitnorth 2010)
Losing Serendipity (Bitnorth 2010)Losing Serendipity (Bitnorth 2010)
Losing Serendipity (Bitnorth 2010)
 
Upside of Downtime Preparation Framework
Upside of Downtime Preparation FrameworkUpside of Downtime Preparation Framework
Upside of Downtime Preparation Framework
 
The Upside of Downtime (Velocity 2010)
The Upside of Downtime (Velocity 2010)The Upside of Downtime (Velocity 2010)
The Upside of Downtime (Velocity 2010)
 
Google App Engine - Simple Introduction
Google App Engine - Simple IntroductionGoogle App Engine - Simple Introduction
Google App Engine - Simple Introduction
 
The Cloud - An introduction
The Cloud - An introductionThe Cloud - An introduction
The Cloud - An introduction
 
How to Trust the Cloud
How to Trust the CloudHow to Trust the Cloud
How to Trust the Cloud
 
The Power of Story, Part 1
The Power of Story, Part 1The Power of Story, Part 1
The Power of Story, Part 1
 
Getting Things Done - Intro
Getting Things Done - IntroGetting Things Done - Intro
Getting Things Done - Intro
 
The White City - Chicago World Fair of 1893
The White City - Chicago World Fair of 1893The White City - Chicago World Fair of 1893
The White City - Chicago World Fair of 1893
 
Influence - Robert Cialdini
Influence - Robert CialdiniInfluence - Robert Cialdini
Influence - Robert Cialdini
 
Twitter - An Intro
Twitter - An IntroTwitter - An Intro
Twitter - An Intro
 

Recently uploaded

FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 

Recently uploaded (20)

FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 

7 Ways To Improve your Web Application Performance On a Budget

Editor's Notes

  1. Thank you Shirin I’m going to try to dive right into the useful stuff and keep the introduction as short as possible I have three goal’s for this talk…
  2. #1. I want to make sure everyone leaves today with at least one actionable take away or new nugget of knowledge to make your web applications and web sites faster.
  3. #2: I’m going to put these slides online along with notes and links to everything I talk about so there’s need to take notes. Just sit back and enjoy.
  4. #3: I’m going to try to finish early and give everyone an opportunity to ask questions, and also hopefully get to a bonus tip that didn’t fit into the original talk. I don’t think anyone ever wished a webiner took longer then expected, and I don’t want to take any more of your time then is necessary, so I’ll do my best move today’s talk along.
  5. So…before you think you’re in the wrong webinar, let me explain. About 6 months ago I proposed to my girlfriend at Disneyland. As you can see she was pretty surprised and it was a a good time.
  6. Like all of the the cool kids, we put together a web site for friends and family to come RSVP, find registries, suggest music, contact us, etc. What I want try today is to use this site as a simple test case aswe go through the various ways to improve your own web application performance.
  7. Here’s a quick overview of what I’ll be covering today. As promised, there are seven broad categories that we’ll go over, and If there’s enough time at the end, I’ll also cover a bonus tip that is pretty interesting. So let’s get started…
  8. First of all lets talk about the fundamental concepts of web page performance.
  9. Most of the advice in this first section comes from the work of a gentleman named Steve Souders, who’s kind of the godfather of page performance. He was Chief Performance Yahoo! at Yahoo for a number of years, and is now a page performance evangelist at Google. I definitely recommend you check out his book, High Performance Web Sites, for the gory details but I’m going to cover the most important points here and link you to more details at the end of the talk.(Maybe: I actually had met him yestarday at the O’Reilly Velocity which was pretty cool).
  10. The broad idea here is that on average 80% of the performance of web pages comes from the client side downloading and rendering each page, meaning that if you’re looking to make the biggest impact to what your visitors experience, the front end is generally where you want to focus first. For example if you look at this waterfall graph, only 5% of the page load time came from the base page, which is the time it takes for your application to complete. If you cut the performance of your application code by 50%, that’s going to be a very small impact to your end user.
  11. These are the now classic set of 14 rules that Souders put together that focus on improving front end performance, and they’re all useful, but I’m going to focus on two broad areas that cover 10 of these rules that give you the biggest benefit. And note that you don’t need to spend any money on anything here.
  12. The first broad concepts that encapsulate a number of the best practices is something I’ll call the power of less. Basically you should aim to reduce what your visitors need to download when loading your pages. It’s pretty simple if you think about it. The less you send, and the fewer connections the user has to make, the faster the page will load. But don’t be deceived by the apparent simplicity. There are a some real nuances and non-obvious approaches here that are important. Let’s run through the specific concepts here.
  13. #1. You want to cut down on the number of external css and javascript files that your page references. The more external files you have on your pages the more connections your clients need to make to your servers, the longer it’ll take to complete the page. The way you do this is by merging all of your CSS into one file, and all of your Javascript into another file. Pretty easy. This way you end up with just two external files, one for all of your CSS and one for all of your Javascript. In terms of the development and release management workflow, you still work in as many separate files as you want and keep it organized in any way that makes sense to you, but when you push to production you can use one of many freely available tools that merges all of your files for you and you end up with just the two consolidated files.
  14. Now that you’ve got the two large CSS and javascript files, you want to squeeze out as much unnecessary stuff as possible. You do this by minimizing your CSS and Javascript files to remove the human readable spaces, the tabs, and the newlines, which add a good amount of useless size to those files. Again, you don’t have to do this manually, there there are some great tools that you can use to make this process automatic, which I’ll also link to at the end of this talk. Generally, you’ll do this at the same time you merge the files in the release process. In the end you’ll have a CSS and a Javascript file that are as tight as they can possibly be before you get to the third best practice…
  15. Compression. You want to compress as much of your content as possible before it goes across the wire. Every web browser these days (except maybe Lynx) support receiving compressed content out of the box, and there’s no reason not to take advantage of that. Compressing cuts down on the download time by about 70%, and will save you both in bandwidth costs and with increased performance. Depending on your web server, it’s generally a matter of enabling a few settings and potentially installing a new module. Once that’s in place, you never have to think about it again. You’ll want to have it automatically compress all of your HTML, plus all of the CSS and javascript files. There’s no need to compress image files, as they are already compressed and it actually slows them down.
  16. #4: You want to make sure to set up your web server to cache as much content as possible. This helps returning visitor performance in a big way. In this example, notice the massive difference between the first and repeat visit. There are a lot of gory details here that we don’t have time to cover, but again I’ll link to some step by step instructions at the end of the talk. From a high level though, you want to look at the Expires headers and Etags and how your web server is handling those.
  17. Last in this section is the concept of CSS sprites. The basic idea is that you combine as many images you can into a single image file, and then use CSS magic to position them around your page. This is Amazon.com’s sprite image, which they manipulate in CSS when displaying every page. The clear benefit is that your visitors only download one file, versus one for each image. You’ll notice this applies to everything from the main logo to the small icons at the bottom. This concept actually comes from video games, which is pretty cool.