Performance Tuning Web Apps - The Need For Speed
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Performance Tuning Web Apps - The Need For Speed

  • 4,768 views
Uploaded on

Presentation at Barcamp Bangalore 2010 on "Performance Tuning Web Apps"

Presentation at Barcamp Bangalore 2010 on "Performance Tuning Web Apps"

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
4,768
On Slideshare
4,685
From Embeds
83
Number of Embeds
5

Actions

Shares
Downloads
49
Comments
0
Likes
5

Embeds 83

http://smm-strategist.com 66
http://www.linkedin.com 13
http://web.archive.org 2
https://si0.twimg.com 1
http://www.docshut.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. The NEED FOR SPEED on WEB!
    Vijay Rayapati
    Product@GizaPage
    @amnigos
  • 2. Note : Do follow barcamp Rules!
  • 3.
  • 4. Performance Tuning Your Web Apps
    Why SPEED matters?
  • 5. The most impatient creature on the earth 
  • 6. RecentlyFred Wilson spoke about
  • 7. RecentlyFred Wilson spoke about
    And the first GOLDEN rule is SPEED
  • 8. If VC’s are talking about WEB apps SPEED
    that means the problem is mainstream
  • 9. What SPEED means for WEB?
    Facebook created PHP HipHop to speedup=F****ing 50% savings!
    Web would have been a great place if everything worked like a Google Instant
    Lot’s of bad PR and Loose users!
    Tip : Do join us at Facebook Developer Garage Bangalore on 24th, September for indepth discussion on HipHop.
  • 10. But Why You Should Worry?
    because
    It is about User Experience and Engagement
    Slow = High Bounce Rates = No users
    Average users are mostly likely to quit a slow page than geeks
    It affects your SEO – think Google Instant
    but IRCTC still works in India 
  • 11. AND…
    Only DOGS can sleep while pages are loading 
  • 12. AND…
    When was the last time you were waiting for the page to load without cursing it?
  • 13. What’s a Good Page Speed?
    F**K this Page
    10 seconds
    SPEEED is not a feature, it’s a KILLER!
    5 seconds
    2.5 seconds
    Google loads in 823 milliseconds*
    * : Yotta report
  • 14. God once said SPEED first EVERYTHING next
    * : Whom should I quote here? 
  • 15. Lot’s of sites suck on the WEB!
  • 16. And it’s sick to use so many lousy pages
  • 17. Hey
    Talk is cheap…Show me the code…
  • 18. Murphy's Law is usually more applicable than Moore's Law
    Premature optimization is the root cause of all evils - Knuth
  • 19. What Should I Do to SPEED UP?
    Lets optimize JAVA/.NET/PHP CODE = FUCK it
    I think APACHE is better than IIS = FUCK it
    Lets get Intel XYZ7 processor = FUCK it
    Lets move to Cloud = FUCK It
  • 20. The 80-20 Rule
    Let’s not worry much
    Problem is HERE
    To Speed Up
    To Scale Up
  • 21. What Browsers do?
    Note : From big brother MS IE Blog!
  • 22. The Birth and Death of a Page
    Note : Thanks to Steven Stefanov for this beauty
  • 23. Note : From big brother MS IE Blog!
  • 24. And the browser woes…
    Number of connections per host = every browser does it’s own way!
    Maximum numberof connections from browser.
    JavaScriptengines suck!
    So many cool effects – I need more JAVASCRIPT
    HTTP was built in B.C and we need SPEEDY!
    Enough SHIT lets get to the POINT >>
  • 25. Good news – lot’s of tools
    Page Speed
    Speed Tracer
    Y slow
    Firebug
    Webpage SpeedTest
    Dynatrace Ajax
    and
    many more are there!
  • 26. The Golden Rules
    1. Do LESS : Reduce HTTP requests – combine JS files, CSS files, Use Image Sprites
    2. Do SMALL : Smush.it/PNG Crush Images, Minify JS/CSS, Remove fugly code
    3. Do COOL : Cache JS/CSS/Images, Google “optimize” options for your server 
    4. Do MORE : Parallel connections, Order your stuff, Unblock JS & Use Google ajax libs
    5. Do GEEKY : XHR use JSON, Flush() early, Gzip, Dump Etags, Cache on Server & CDN
    6. Do SMART: Lazy load, Upgrade your JS libs, Cleanup JS files & Get of rid of
    comments/code – the EVIL
    Tell me other 4 rules 
  • 27. Thumb Rulesfor 90%
    Use Google Closure Compiler – easiest way to optimize your JS.
    Play with Cuzillionto learn how to order Images, inline/external Javascripts/CSS
    Upgrade your jQuery/others libs regularly – faster and less memory
    Do basic optimization of your JS code, just google – ton of resources
  • 28. Thumb Rulesfor 90%
    Don’t put JS libraries on your server unless required – Use Google or MS public CDN’s
    Burst the Cache on updates – use ? or include versioning in build script
    Use SpritesMeand learn image sprites – saves you a ton of load.
    Lazy load/Pre-fetch if have too much stuff after page load or anticipate next page –
    XHR, JSON : Love jQuery
  • 29. If you have just wordpress
    Try one of those cache plug-ins like w3-total-cache
  • 30. Why you should focus on ordering your stuff?
  • 31. Increase Parallel Downloads
    Note : Too many hosts will end up with DNS look up overhead
  • 32. How to do Async JS loading?
    RequireJS– Awesome way to load JS async and also handle dependencies
  • 33. How to Measure Ajax actions?
    Dynatrace Ajax – If John Resig is impressed then you should also be 
  • 34. How to Measure Ajax actions?
    Chrome Speed Tracer – This is a kick-ass 
  • 35. How to Measure Ajax actions?
    Chrome Speed Tracer – This is a kick-ass 
  • 36. Geeky: How to do JS payload split?
    Why load all the JS code upfront when you only need some of it?
    Doloto - http://msdn.microsoft.com/en-us/devlabs/ee423534.aspx
  • 37. Word of caution
    A/B and Multivariate scripts will have impact on performance
    Choose user screen captures tools carefully – can get really sluggish
    Get rid of asp.net ajax libs, bloated and lousy!
    Choose your social or JS framework plug-ins carefully – most are lousy!
    and
    Look at your server logs – gives you ton of data on requests/responses
    Do backend profiling – if you have high loads on the system
  • 38. When NOT to optimize?
  • 39. The Future looks brighter!
    Web workers – run multiple JS threads!
    Hardware acceleration in Browsers – faster rendering/scaling/layouts
    The awesome HTML 5 – Async/Defer, local storage/app cache, Web SQL & more!
    Expect better JS engines – run highly optimized and native vm code
    May be SPEEDY/Web Resource Bundles Soon!
  • 40. Hope All Browsers will have auto update, love you Chrome!
    Can we do something for IE 6? – the death funerals haven’t worked yet 
  • 41. Follow Leaders
    The Yahoo Developer Network Performance Section
    Google Performance Engineering Site
    Steve Souders((@souders)
    Facebook Engineering Blog
    Performance Planet
    John Resig
    High Scalability
    InfoQ
    Nicole Sullivan(@stubbornella)
    Phillip Tellis((@bluesmoon))
  • 42. Let’s make WEB faster!
    May god bless the speed
    Vijay Rayapati
    Product@GizaPage
    @amnigos
  • 43. Few last things
    Thanks to friends at
    #BCB9 Sponsorship!
  • 44. Credits
    It’s due wherever I used images from Flickr CC, FindIcons.com and Google Images Search 
    Thanks to Pallav (FusionCharts ) for the background theme.