Your SlideShare is downloading. ×
Web Front End Performance
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Web Front End Performance

1,245
views

Published on

This is an older session,

This is an older session,


0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,245
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
23
Comments
0
Likes
2
Embeds 0
No embeds

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
  • Entity Tags (ETags) are commonly used in Web applications to effectively leverage the power of using web farms, which is a non-fancy term for HTTP/S load balancing.  In web farms, a common practice is to set what is called ETags as it helps enhance performance in web farm scenarios.  ETags is controlled in IIS by a metabase property (ETAG_CHANGENUMBER) and this value is sent back to clients via response headers as instructed by the HTTP RFC 2616. 
  • Transcript

    • 1. ASP.NET Performance Tips
      GettingThings Right on the Client
      Chris Love
      http://ProfessionalASPNET.com
      Copyright Extreme Web Works - http://ProfessionalASPNET.com
    • 2. ASP.NET Performance Tips on the Server I
      ASP.NET Performance Tips on the Server II
      ASP.NET Performance Tips on the Client-Side
      Copyright Extreme Web Works - http://ProfessionalASPNET.com
    • 3. High Performance Web Sites
      Essential Knowledge for
      Front-End Engineers
      Steve Souders
      http://amzn.to/gwf9pG
      http://amzn.to/gudayQ
      http://developer.yahoo.com/performance/rules.html
      Copyright Extreme Web Works - http://ProfessionalASPNET.com
    • 4. Front-End Performance Tools
      • FireBug and YSlow
      • 5. http://GetFireBug.com
      • 6. http://developer.yahoo.com/yslow/
      • 7. Fiddler
      • 8. http://FiddlerTools.com
      • 9. Web Development Helper
      • 10. http://projects.nikhilk.net/Projects/WebDevHelper.aspx
      Copyright Extreme Web Works - http://ProfessionalASPNET.com
    • 11. Front-End Performance Rules
      Make Fewer HTTP Requests
      Use a Content Delivery Network
      Add an Expires Header *
      Compress Content *
      StyleeSheets On Top *
      Scripts at Bottom *
      Avoid CSS Expressions
      Make JavaScript and CSS External *
      Reduce DNS Lookups
      Minify JavaScript *
      Avoid Redirects *
      Remove Duplicate Scripts *
      Configure Etags
      Make AJAX Cacheable *
      Copyright Extreme Web Works - http://ProfessionalASPNET.com
    • 12. Make Fewer HTTP Requests
      • Each Request Adds More Overhead
      • 13. Avoid Slicing Images that are not Reused
      • 14. Image Maps
      • 15. CSS Sprites
      • 16. Inline Images
      • 17. Combine Scripts and CSS
      Copyright Extreme Web Works - http://ProfessionalASPNET.com
    • 18.
      • Use a Content Delivery Network
      • 19. More Geographically Dispersed
      • 20. Not really practical for most sites.
      • 21. Can see drastic response time savings
      • 22. Do not compare tests against in house lab results
      Copyright Extreme Web Works - http://ProfessionalASPNET.com
    • 23.
      • Configure Etags
      Mechanism for Servers and Browsers to
      Communicate about Cache Validation.
      Provide a way to know if Browser Cache matches
      what is on the server.
      RFC 2616
      Sends a 304 Response instead of 200
      IIS 6.0 & Service Pack 1 (slipstream)
      IIS 7 can be integrated with IIS 6 Farms
      Set ETAG_CHANGENUMBER to 0
      Best Idea - Just Remove them!
      Copyright Extreme Web Works - http://ProfessionalASPNET.com
    • 24. Avoid CSS Expressions
      • Specific to IE 5+
      • 25. Constantly being Reevaluated
      • 26. Use JavaScript Functions to change the Style
      • 27. Use One-Time Expressions
      Copyright Extreme Web Works - http://ProfessionalASPNET.com
    • 28. Reduce DNS Lookups
      • DNS Caching – How does DNS work?
      • 29. Find the Fine Point between Parallel Downloads and DNS lookups
      Copyright Extreme Web Works - http://ProfessionalASPNET.com
    • 30. Compress Content
      • Reduces Content being sent over the wire
      • 31. Gzip, Deflate
      • 32. Increases Processer Demand on both ends
      • 33. IIS 6 and IIS 7
      • 34. http://technet2.microsoft.com/windowsserver2008/en/library/60f3fa55-f005-496e-9d2f-cc4fc2732fce1033.mspx?mfr=true
      • 35. Blowry
      • 36. Various ISAPI Filters
      Copyright Extreme Web Works - http://ProfessionalASPNET.com
    • 37. Add an Expires Header
      • Primes the Cache
      • 38. For more than just images
      <%@ OutputCache Duration="60" VaryByParam="None" %>
      Response.Cache.SetExpires(DateTime.Now.AddSeconds(60)) Response.Cache.SetCacheability(HttpCacheability.Public)
      <%@ OutputCache Duration="60" Location="Downstream" VaryByParam="None" %>
      Copyright Extreme Web Works - http://ProfessionalASPNET.com
    • 39. StyleeSheets On Top
      • Progressive Rendering
      Copyright Extreme Web Works - http://ProfessionalASPNET.com
    • 40. Make JavaScript and CSS External
      <link rel="stylesheet" href=“Main.css”>
      <script src=“Meta.js "></script>
      Copyright Extreme Web Works - http://ProfessionalASPNET.com
    • 41. Scripts at Bottom
      • Yes!!! This Really Works!
      • 42. Defers Loading Client-Side Logic till after HTML
      • 43. Loading JavaScript is a Blocking Call (Everything waits for it to finish)
      <asp:ScriptManager ID="ScriptManager1" runat="server" LoadScriptsBeforeUI="false">
      </asp:ScriptManager>
      Copyright Extreme Web Works - http://ProfessionalASPNET.com
    • 44. Minify JavaScript
      • Remove Unnecessary Characters from JS Files
      • 45. JSMin - http://www.crockford.com/javascript/jsmin.html
      • 46. DoJo Compressor - http://dojotoolkit.org/docs/shrinksafe
      • 47. JavascriptMinimizer - http://devtools.10try.com/
      • 48. CSS Minification does not provide as much gain.
      Copyright Extreme Web Works - http://ProfessionalASPNET.com
    • 49. Remove Duplicate Scripts
      • They Happen
      • 50. Use the ScriptManager to Register JS Scripts
      • 51. Inherit from a Base Page Class with a checking mechanism
      • 52. Create a httpModule to check final stream
      Copyright Extreme Web Works - http://ProfessionalASPNET.com
    • 53. Avoid Redirects
      • 30X HTTP Status Codes
      • 54. Only use when necessary
      • 55. Reduce Response.Redirect
      • 56. PostBackURL
      • 57. Server.Transfer
      • 58. URL Rewritting
      Copyright Extreme Web Works - http://ProfessionalASPNET.com
    • 59. Make AJAX Cacheable
      • Optimize AJAX Requests
      • 60. http://www.codeproject.com/KB/aspnet/10ASPNetPerformance.aspx?display=Print
      <system.web.extensions>
      <scripting>
      <scriptResourceHandlerenableCaching ="true" enableCompression ="true"/>
      </scripting>
      </system.web.extensions>
      Copyright Extreme Web Works - http://ProfessionalASPNET.com