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

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 

Recently uploaded (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 

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.