Webstandards_TechEdIndia

1,043 views
877 views

Published on

ASP.NET WebStandards & Performance

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,043
On SlideShare
0
From Embeds
0
Number of Embeds
203
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Webstandards_TechEdIndia

  1. 1. ASP.NET Web Standards andGO BIG! Performance Pranav Rastogi
  2. 2. Standards & PerformanceDevelop Debug Real Time Web Lightning FastOptimize Web Server
  3. 3. Develop & Debug
  4. 4. Develop & Debug• Why Standards?• VS enhancements• Editors++• Page Inspector
  5. 5. Develop & Debug
  6. 6. Develop & Debug• Enable cross platforms scenarios• Ease of development• Page Inspector
  7. 7. Optimization
  8. 8. Amazon 100 ms slower = 1% drop in sales $932,000 per day
  9. 9. Application Tiers
  10. 10. Application Tiers
  11. 11. Request Tree
  12. 12. Processing Time
  13. 13. Optimization
  14. 14. Optimized for the world• Why should you care• CSS/JS minification & bundling• Image Optimization• Compression• Caching
  15. 15. Real Time Web
  16. 16. What is this?Chat CricInfo SharingTwitter Online Booking
  17. 17. Real Time Web Polling Long Polling Sockets
  18. 18. Real Time Web 10 Client requests update from server. Server responds immediately, Polling whether or not there is new data. 20 Client waits X seconds. 30 GOTO 10 getNewInfo() { function Long $.ajax("url", function(newInfo) { if (newInfo != null) { Polling } // Do something with newInfo }); // Poll again after 30 seconds setTimeout(getNewInfo, 30000); Sockets } // Begin the polling loop getNewInfo();
  19. 19. Real Time Web 10 Client requests update from server 20 Server leaves request hanging open Polling until there is new data, then responds 30 GOTO 10 function getNewInfo() { Long $.ajax("url", function(newInfo) { // Do something with newInfo Polling // Poll again immediately getNewInfo(); }); Sockets } // Begin the polling loop getNewInfo();
  20. 20. Real Time Web 10 Client opens HTTP connection with "Upgrade: WebSockets" header; Polling Server leaves connection open. 20 Server sends new data when available Connection remains open 30 GOTO 20 Long // Open a socket connection var socket = new WebSocket("url"); Polling socket.onmessage = function(msg) { var newInfo = msg.data; // Do something with newInfoSockets }
  21. 21. Obligatory warning Q: Can I use WebSockets in production today? A: No – still waiting for: Widespread browser support Widespread network support Platform support
  22. 22. SignalR
  23. 23. Real Time Web• What is this?• Polling• WebSockets• SignalR
  24. 24. LightningFast Server
  25. 25. Key performance factors• Startup time• Memory Consumption• Talk to your web hoster
  26. 26. ASP.NET 4.5 Improvements• Sharing Common Assemblies • aspnet_intern -mode exec -sourcedir "C:inetpubwwwrootCricketBlog" - interndir C:ASPNETCommonAssemblies
  27. 27. ASP.NET 4.5 Improvements• Sharing Common Assemblies Site1 MVC.dll
  28. 28. ASP.NET 4.5 Improvements• Sharing Common Assemblies Site1 MVC.dll Site2 MVC.dll
  29. 29. ASP.NET 4.5 Improvements• Sharing Common Assemblies Site1 Interned MVC.dll Site2
  30. 30. ASP.NET 4.5 Improvements• Prefetching for web applications• JIT compilation for fast startup• Garbage collection
  31. 31. IIS8• Site density• Scalability• Memory Consumption• Disk I/O
  32. 32. http://blogs.msdn.com/b/josere/archive/2011/09/13/performance-improvements-for-asp-net-shared-hosting-scenarios.aspx
  33. 33. IIS 8
  34. 34. Lightning Fast Server• ASP.NET• IIS8• Talk to your web hoster
  35. 35. In the endDevelop Debug Optimize Lightning FastReal Time Web Server
  36. 36. What to do next?Download Learn • ASP.NET Get Involved • Stack • Share an idea• VS 11 Beta Overflow • Open Bugs• SignalR • ASP.NET • My Blog• Image Forums • @rustd Optimizer • IIS8
  37. 37. Slides/Demo• http://blogs.msdn.com/b/pranav_rastog i/• Twitter : @rustd
  38. 38. © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are ormay be registered trademarks and/or trademarks in the US and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

×